iT邦幫忙

0

Xcode(swift,OC)效能分析工具

Xcode(swift,OC)效能分析工具 Instruments — Time Profiler使用

關於 Time Profiler 我想說的是

事情是這樣開始的,QA覺得畫面很卡。

我的搭檔跟我說:

於是開始學習這個測試工具。

Time Profiler

我們來看看 Time Profiler 可以為我們做什麼事

1. 檢視方法正在消耗CPU時間

time profile時間分析工具用來檢測應用CPU的使用情況,可以看到應用程序中各個方法正在消耗CPU時間,使用大量CPU不一定是個問題。客戶端中動畫就對CPU依賴就非常高,動畫本身也是非常苛刻且耗費資源較多的任務。

2. 檢視程式碼運行時間

Time Profiler幫助我們分析程式碼的執行時間,找出導致程序變慢的原因,告訴我們“時間都去哪兒了?”。

3. 跟踪每一個線程的堆棧信息

Time Profiler分析原理:它按照固定的時間間隔來跟踪每一個線程的堆棧信息,通過統計比較時間間隔之間的堆棧狀態,來推算某個方法執行了多久,並獲得一個近似值。其實從根本上來說與我們的原始分析方法異曲同工,只不過其將各個方法消耗的時間統計起來。

使用須知

當點擊Time Profiler應用程序開始運行後.就能獲取到整個應用程序運行消耗時間分佈和百分比.為了保證數據分析在統一使用場景真實行有如下點需要注意。

1. 應用程序性能分析的時候,一定要使用真機

在開始進行應用程序性能分析的時候,一定要使用真機,模擬器運行在Mac上,然而Mac上的CPU往往比iOS設備要快。相反,Mac上的GPU和iOS設備的完全不一樣,模擬器不得已要在軟件層面(CPU)模擬設備的GPU,這意味著GPU相關的操作在模擬器上運行的更慢,尤其是使用CAEAGLLayer來寫一些OpenGL的代碼時候. 這就導致模擬器性能數據和用戶真機使用性能數據相去甚運。

2. 應用程序運行一定要Release版本 而不是Debug版本.

在發布環境打包的時候,編譯器會引入一系列提高性能的優化,例如去掉調試符號或者移除並重新組織代碼.另iOS引入一種"Watch Dog"[看門狗]機制.不同的場景下,“看門狗”會監測應用的性能。如果超出了該場景所規定的運行時間,“看門狗”就會強制終結這個應用的進程.開發者可以crashlog看到對應的日誌.但Xcode在調試配置下會禁用"Watch Dog".

開始使用

Xcode -> Open Developer Tool ->Instruments

選擇 Time Profiller

眼前就是 Time Profiller

我們來簡單使用一次
選擇要測試的裝置,要測試的專案,然後start record。

在APP啟用時,可以看到 APP Life Cycle

Reference

參考文章連結


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言