卡頓優(yōu)化

卡頓解決的主要思路:盡可能減少CPU、GPU資源消耗

一、卡頓 ------> CPU

?CPU:(中央處理器)對象的創(chuàng)建和銷毀,對象屬性的調(diào)整、布局計算、文本的計算和排版、圖片的格式轉(zhuǎn)換和解碼、圖像的繪制

1.盡量使用輕量級對象,比如用不到事件處理的地方,可以考慮使用CALayer (例:UILabel文字只展示,沒有事件處理 就用CALayer)

2.不要頻繁調(diào)用UIView的相關(guān)屬性,比如frame、bounds、transform等屬性,盡量減少不必要的修改

3.盡量提前計算好布局,在有需要時一次性調(diào)整對應(yīng)的屬性,不要多次修改屬性

4.Autolayout 會比直接設(shè)置frame消耗更多的CPU資源

5.圖片的size最好和UIImageView的size保持一致

6.控制一下線程的最大并發(fā)數(shù)

7.盡量把耗時傳操作放到子線程(例:文本處理(尺寸計算、繪制)、圖像的解碼、繪制)

二、卡頓 ------> GPU

?GPU:(圖形處理器)紋理的渲染

1.盡量避免短時間內(nèi)大量圖片的展示,盡可能將多張圖片合成一張進行顯示

2.GPU能處理的最大紋理尺寸是4096*4096,一旦超過這個尺寸,就會占用CPU資源進行處理,所以紋理盡量不要超過這個尺寸

3.盡量減少視圖數(shù)量和層次

4.減少透明視圖(alpha<1),不透明的就設(shè)置opaque為YES

5.盡量避免出現(xiàn)離屏渲染(在當(dāng)前屏幕緩沖區(qū)以外新開辟一個緩沖區(qū)進行操作)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容