? ? ?前言:現(xiàn)在移動(dòng)設(shè)備硬件性能越來(lái)越高,項(xiàng)目周期壓縮播玖,導(dǎo)致很多開(kāi)發(fā)者在開(kāi)發(fā)過(guò)程中對(duì)系統(tǒng)? 對(duì)性能優(yōu)化有了疏忽,在此本人出于自我學(xué)習(xí)和分享大家的心態(tài)將會(huì)更新一系列針對(duì)Android性能優(yōu)化的文章八酒。首先嫁怀,我們一起看下Android系統(tǒng)對(duì)UI上的性能優(yōu)化有哪些。
? ? ? 技術(shù)背景:談到UI性能優(yōu)化梗夸,其實(shí)無(wú)非就是用戶(hù)感覺(jué)偶爾层玲、某些頁(yè)面卡頓,那么為何出現(xiàn)這種卡頓绒瘦,除去基本的內(nèi)存使用不當(dāng)外称簿,我個(gè)人認(rèn)為有兩點(diǎn):(1)布局層次太多(2)自定義View onDraw耗時(shí)太長(zhǎng)。針對(duì)以上問(wèn)題惰帽,Android本身提供了我們一個(gè)很方便的工具憨降。(小知識(shí)點(diǎn):Android單16ms會(huì)觸發(fā)一次VSYNC,對(duì)View進(jìn)行繪制该酗,如果超出了這個(gè)時(shí)間就會(huì)出現(xiàn)卡頓授药,至于為何是這個(gè)時(shí)間,大概好像是按照人的裸眼與大腦交互視差來(lái)定的吧呜魄,感興趣的同學(xué)可以具體看下悔叽。)
問(wèn)題一:布局層次太多
方案:Hierarchy Viewer。檢查我們的布局效率爵嗅,減少不必要的層次娇澎。
問(wèn)題二:繪制耗時(shí)太長(zhǎng)
方案:Show GPU Overrdraw。具體打開(kāi)步驟:在手機(jī)或者模擬器設(shè)置 -> 開(kāi)發(fā)者選項(xiàng) -> 調(diào)試GPU過(guò)度繪制 -> 顯示GPU過(guò)度繪制睹晒。
打開(kāi)后會(huì)發(fā)現(xiàn)很多顏色色塊趟庄,來(lái)一張參考圖:
如果你遇到了顏色深的色塊比較多的情況,你就要注意優(yōu)化了伪很。
下面為示例:
以上為如何發(fā)現(xiàn)問(wèn)題點(diǎn)戚啥,關(guān)鍵在于怎么去優(yōu)化呢,未完待續(xù)锉试。猫十。。呆盖。拖云。