目前關於ios效能優化的教程較少,決定寫乙個《ios效能調優系列》,主要關注與記憶體洩漏、效能優化、流量和電量分析幾個方面。
xcode已經提供了非常強大的效能調優工具,結合幾個第三方工具和一些技巧,進行效能優化非常簡單。
第一篇先寫寫最簡單的,analyze靜態分析。
analyze主要分析以下四種問題:
1、邏輯錯誤:訪問空指標或未初始化的變數等;
2、記憶體管理錯誤:如記憶體洩漏等;
3、宣告錯誤:從未使用過的變數;
4、api呼叫錯誤:未包含使用的庫和框架。
analyze記憶體洩漏分析:
宣告錯誤、邏輯錯誤、api呼叫錯誤基本在編譯時都會有警告,analyze的主要優勢在於靜態分析記憶體洩漏及**邏輯錯誤。
比如在開啟arc的環境下,輸入以下一段**:
1
2
3
4
5
6
7
8
9
10
11
12
13
//擷取部分影象
+(uiimage*)getsubimage:(unsigned
long
)uluserheader
用注釋注釋掉cgimagerelease(imageref)這行,雖然開起了arc,不過仍然會導致imageref物件洩漏。
使用analyze進行分析,在導航欄analyze選擇analyzer檢視分析結果:
analyze已經分析出imageref物件有記憶體洩漏,這種情況在編譯時是無法發現的。
如果你沒有使用arc,那麼analyze更有用。
analyze的其他三種分析也可以使用,相比編譯器給出的資訊更明確。
analyze邏輯錯誤監測:
這種情況在codereview時也較難發現,可以借助analyze。
如上**,當tag不等於1、2和3的時候,就會出現很問題了。
IOS效能調優系列 Analyze靜態分析
xcode已經提供了非常強大的效能調優工具,結合幾個第三方工具和一些技巧,進行效能優化非常簡單。第一篇先寫寫最簡單的,analyze靜態分析。analyze主要分析以下四種問題 1 邏輯錯誤 訪問空指標或未初始化的變數等 2 記憶體管理錯誤 如記憶體洩漏等 3 宣告錯誤 從未使用過的變數 4 api...
IOS效能調優系列 Analyze靜態分析
目前關於ios效能優化的教程較少,決定寫乙個 ios效能調優系列 主要關注與記憶體洩漏 效能優化 流量和電量分析幾個方面。xcode已經提供了非常強大的效能調優工具,結合幾個第三方工具和一些技巧,進行效能優化非常簡單。第一篇先寫寫最簡單的,analyze靜態分析。analyze主要分析以下四種問題 ...
SQL Server效能調優系列
這是關於sql server調優系列文章,以下內容基本涵蓋我們日常中所寫的查詢運算的分解以及調優內容項,皆為原創.資料庫技術經驗篇 sql server調優系列基礎篇 sql server調優系列基礎篇 常用運算子總結 sql server調優系列基礎篇 聯合運算子總結 sql server調優系列...