1.啟動時(shí)間
App的啟動分為冷啟動和熱啟動。如果啟動時(shí)間過長斑芜,首先引起的用戶體驗(yàn)直線下降肩刃,再者是可能會激發(fā)蘋果的watch dog機(jī)制kill掉App。APP的啟動時(shí)長檢測傳送門:http://www.reibang.com/p/12b4803a2581
2. CPU占用率
CPU做為手機(jī)中央處理器,可以說是手機(jī)最關(guān)鍵的組成部分盈包,所有的應(yīng)用程序都需要它來調(diào)度運(yùn)行沸呐,資源有限。所以如果App的設(shè)計(jì)不當(dāng)呢燥,會使CPU持續(xù)高負(fù)載進(jìn)行崭添,將會出現(xiàn)App卡頓,手機(jī)發(fā)燙叛氨,電量消耗過快的影響用戶體驗(yàn)的現(xiàn)象呼渣。
如何獲取CPU占有率呢?---》?http://www.reibang.com/p/36dc78198a08
3. 內(nèi)存
雖然現(xiàn)在手機(jī)內(nèi)存越來越大寞埠,但畢竟是資源有限的屁置。如果因?yàn)橄到y(tǒng)設(shè)計(jì)造成內(nèi)存過高,可能面臨被系統(tǒng)kill掉的風(fēng)險(xiǎn)仁连,對用戶來說就是crash蓝角,體驗(yàn)極其差。
首先需要了解下iOS內(nèi)存管理機(jī)制
1. 為什么要內(nèi)存管理饭冬?
OC對象在內(nèi)存中以堆的方式分配空間使鹅,堆內(nèi)存是由我們自己釋放。就是release伍伤,非OC對象一般是在棧中并徘,系統(tǒng)自動回收
2. 什么情況下內(nèi)存會增加?
定義變量扰魂,創(chuàng)建對象麦乞,調(diào)用函數(shù)或者方法
3. OC如何進(jìn)行內(nèi)存管理?(原理就是引用計(jì)數(shù))
? ?I.? iOS5之前使用MRC(手動引用計(jì)數(shù))劝评,需要手動調(diào)用retain姐直,release,autorelease
? ?II. ARC(自動引用計(jì)數(shù))蒋畜,內(nèi)存管理由系統(tǒng)接管(本質(zhì)上也是調(diào)用retain声畏,release,autorelease)
原則是 遵循誰創(chuàng)建姻成,誰管理插龄,誰引用,誰釋放
內(nèi)存獲取請參考:http://www.reibang.com/p/2b8e80a1ae37
4.FPS
fps:Frames Per Second?
屏幕渲染過程是有信號發(fā)送的科展,一幀一幀的均牢。
FPS每秒顯示60幀,幀數(shù)越高越流暢才睹,每隔16ms就會有一次VSync信號
那為何會出現(xiàn)卡頓徘跪?
首先看下屏幕內(nèi)容顯示過程
1. CPU完成計(jì)算之后甘邀,GPU渲染,收到垂直同步信號垮庐,將渲染的內(nèi)容顯示到屏幕
2. 若CPU計(jì)算正乘尚埃或較慢,GPU渲染時(shí)間較長哨查,這時(shí)來了垂直同步信號逗抑,這一幀還沒有渲染完,就會出現(xiàn)掉幀情況寒亥,當(dāng)下一個(gè)VSync信號出現(xiàn)時(shí)锋八,丟掉的那一幀才會顯示出來
fps檢測傳送門:http://www.reibang.com/p/d6d4d4624038
5.電量獲取
官網(wǎng)步驟:
https://help.apple.com/instruments/mac/current/#/deva0db8947