我的博客搬家了
使用Xcode自帶的Instruments工具,檢測CPU
Instruments
打開Instruments:Xcode -> Product -> Profile 或者 cmd + i
啟動后如下:
其中常用的有用來檢測內(nèi)存泄露的Leaks和查看CPU消耗情況的Time Profiler。下面介紹查看CPU使用情況的Time Profiler
Time Profier
- 打開Time Profier
要查看每個函數(shù)的CPU性能萝衩,直接雙擊函數(shù)就可以定位到代碼了笑撞。
函數(shù)前面的數(shù)值是所用時間咐柜,可以根據(jù)這個時間判斷是是否需要優(yōu)化。
有了上面的基礎(chǔ)知識就可以對App的CPU消耗情況進行實時檢測了。
常見的對CPU消耗過高的操作
- 加載圖片
兩種不同方式在相同時間內(nèi)的CPU消耗情況對比:
并且仲义,使用5s真機測試以下代碼40s后Memory過高造成閃退,但是使用imageWithContentOfFile
數(shù)分鐘后沒有出現(xiàn)閃退現(xiàn)象
while (1)
{
[UIImage imageNamed:@"58_58"];
}
- 初始化對象
- 正則表達式
-
時間戳
在需要多次使用的地方盡量只初始化一次,然后多次使用
- 視圖布局
/-(void)layoutSubviews
{
// do something
}
[view setNeedsLayout];
[view layoutIfNeeded];
這些函數(shù)盡量不要使用埃撵。每對view進行一次重新布局就會對CPU增加很多消耗赵颅。
- 繪制圖層
需要用到
[layout rendInContext:]
的地方盡量換成iOS7以后新增的方法:
[view drawViewHierachyInRect:]
性能同樣可以獲得很大的提升