性能優(yōu)化包括很多方面,如內(nèi)存泄露,代碼執(zhí)行的時(shí)間,動(dòng)畫性能優(yōu)化等,主要用到Instruments中的Leaks,Time Profiler,Core Animation等幾個(gè),但是,Instruments只能找出問題,而不能解決問題.
測(cè)試前的準(zhǔn)備:
? ? 1.必須是真機(jī),因?yàn)槭褂媚M器,mac的性能比手機(jī)的好很多
? ? 2.在工程中 Build Settings -> Debug Information Format 設(shè)置為DWARF with sHYM
?File ,如果不設(shè)置,在后面查看哪個(gè)方法需要優(yōu)化的時(shí)候,是由二進(jìn)制代替方法,無法清楚的分析哪里出現(xiàn)問題.
一:Leaks:檢測(cè)內(nèi)存泄露
本文只列出結(jié)果,詳情操作附加友情鏈接:
友情鏈接:
(一):http://www.reibang.com/p/4b882f1bd1a9
(二):http://www.reibang.com/p/65c1ce83e549
只需要點(diǎn)擊 reveal in Xcode , 即可跳轉(zhuǎn)到工程有問題的方法中,到此時(shí),問題已經(jīng)找到,但是解決問題需要靠自己.
二:Time Profiler: 時(shí)間事件查看器
用來計(jì)算函數(shù)運(yùn)行的時(shí)間,可以找出耗時(shí)比較長(zhǎng)的函數(shù)進(jìn)行優(yōu)化,從而減短響應(yīng)的時(shí)間
友情鏈接:
(一): http://blog.csdn.net/xiaoxuan415315/article/details/56015289
(二): http://blog.csdn.net/xiaohe901216/article/details/70575232? ?
三: Core Animation: 可以用來優(yōu)化UI,優(yōu)化動(dòng)畫
友情鏈接:
(一):http://blog.csdn.net/xiaofei125145/article/details/50614276
(二):http://www.cocoachina.com/ios/20161211/18341.html?
選擇參數(shù):
1. Color Blended Layers(混合和過度繪制)
2. Color Offscreen-Rendered Yellow(離屏渲染)
3. ColorHitsGreenandMissesRed(光柵化緩存圖層命中情況)
4. Color Copied Images(拷貝的圖片)
5. Color Immediately(用來設(shè)置每幀都更新(可能會(huì)影響到渲染性能,而且會(huì)導(dǎo)致幀率測(cè)量不準(zhǔn)漆诽,所以不要一直都設(shè)置它)
6. Color Misaligned Images(圖片的不正掣缌Γ縮放)
7. Color OpenGL Fast Path Blue? (對(duì)任何直接使用OpenGL繪制的圖層進(jìn)行高亮)
8. Flash Updated Regions(Core Graphics繪制的圖層)
注意: 打開 Color Blended Layers 選項(xiàng),那塊區(qū)域會(huì)顯示紅色唇撬,所以我們調(diào)試的目的就是將紅色區(qū)域消減的越少越好它匕。那么如何減少紅色區(qū)域的出現(xiàn)呢?只要設(shè)置控件不透明即可
(1)設(shè)置opaque 屬性為true窖认。
(2)給View設(shè)置一個(gè)不透明的顏色豫柬,沒有特殊需要設(shè)置白色即可告希。