事情是這樣開始的,QA覺得畫面很卡。
我的搭檔跟我說:
於是開始學習這個測試工具。
我們來看看 Time Profiler 可以為我們做什麼事
time profile時間分析工具用來檢測應用CPU的使用情況,可以看到應用程序中各個方法正在消耗CPU時間,使用大量CPU不一定是個問題。客戶端中動畫就對CPU依賴就非常高,動畫本身也是非常苛刻且耗費資源較多的任務。
Time Profiler幫助我們分析程式碼的執行時間,找出導致程序變慢的原因,告訴我們“時間都去哪兒了?”。
Time Profiler分析原理:它按照固定的時間間隔來跟踪每一個線程的堆棧信息,通過統計比較時間間隔之間的堆棧狀態,來推算某個方法執行了多久,並獲得一個近似值。其實從根本上來說與我們的原始分析方法異曲同工,只不過其將各個方法消耗的時間統計起來。
當點擊Time Profiler應用程序開始運行後.就能獲取到整個應用程序運行消耗時間分佈和百分比.為了保證數據分析在統一使用場景真實行有如下點需要注意。
在開始進行應用程序性能分析的時候,一定要使用真機,模擬器運行在Mac上,然而Mac上的CPU往往比iOS設備要快。相反,Mac上的GPU和iOS設備的完全不一樣,模擬器不得已要在軟件層面(CPU)模擬設備的GPU,這意味著GPU相關的操作在模擬器上運行的更慢,尤其是使用CAEAGLLayer來寫一些OpenGL的代碼時候. 這就導致模擬器性能數據和用戶真機使用性能數據相去甚運。
在發布環境打包的時候,編譯器會引入一系列提高性能的優化,例如去掉調試符號或者移除並重新組織代碼.另iOS引入一種"Watch Dog"[看門狗]機制.不同的場景下,“看門狗”會監測應用的性能。如果超出了該場景所規定的運行時間,“看門狗”就會強制終結這個應用的進程.開發者可以crashlog看到對應的日誌.但Xcode在調試配置下會禁用"Watch Dog".
Xcode -> Open Developer Tool ->Instruments
選擇 Time Profiller
眼前就是 Time Profiller
我們來簡單使用一次
選擇要測試的裝置,要測試的專案,然後start record。
在APP啟用時,可以看到 APP Life Cycle