App 性能分析

關鍵因素: ---- Instrument 性能分析神器網絡

1. 啓動時間 session

  應用啓動時間長短對用戶第一次體驗相當重要,同時系統對應用的啓動、恢復等狀態的運行時間也有嚴格的要求,在應用超時的狀況下系統會直接關閉應用。如下是幾個常見場景下系統對app運行時間的要求: * Launch 20秒 Resume 10秒 Suspend 10秒 Quit 6秒Background Task 10分鐘app

  要獲取準確的app啓動所需時間,最簡單的方法時首先在main.c中添加以下代碼:async

1
2 3 
CFAbsoluteTime StartTime; int main(int argc, char **argv) {  StartTime = CFAbsoluteTimeGetCurrent(); 

  而後在AppDelegate的回調方法application:didFinishLaunchingWithOptions中添加:ide

dispatch_async(dispatch_get_main_queue(), ^{
    NSLog(@」Lauched in %f seconds.」,  (CFAbsoluteTimeGetCurrent() – StartTime)); 
});可能你會以爲爲何這樣可拿到系統啓動的時間,由於這個dispatch_async中提交的工做會在app主線程啓動後的下一個run lopp中運行,此時app已經完成了載入而且將要顯示第一幀畫面,也就是系統會運行到`-[UIApplication _reportAppLaunchFinished]`以前。下圖是用Instruments工具Time Profiler跑的調用棧,Instruments的使用方法建議看WWDC中與performance相關的[session錄像](https://developer.apple.com/videos/wwdc),文字寫起來太單薄不夠直觀哈。

 

2. 用戶響應工具

 

3. 內存性能

 

4. 圖形圖畫ui

 

5. 文件spa

 

6. 網絡線程

相關文章
相關標籤/搜索