1. 程式人生 > >iOS性能優化之Leaks動態分析

iOS性能優化之Leaks動態分析

反向輸出 ges 合並 性能優化 recursion 問題 details auto 14.

iOS性能優化之Leaks動態分析

Instruments-Leaks有很多跟蹤模塊可以動態分析和跟蹤內存, CPU 和文件系統(因為是動態分析 所以必須運行才能打開)。

具體使用

  1. 在XCode Open菜單下,點擊Leaks 對App進行動態分析(快捷鍵CMD + i)
    技術分享圖片
    技術分享圖片
    或者直接在工程中選擇調試導航
    技術分享圖片
    在右側點擊Profile in instruments
    技術分享圖片

檢測圖:
技術分享圖片
技術分享圖片
技術分享圖片

技術分享圖片

  • Separate by Thread:按線程分開做分析,這樣更容易揪出那些吃資源的問題線程。特別是對於主線程,它要處理和渲染所有的接口數據,一旦受到阻塞,程序必然卡頓或停止響應。

  • Invert Call Tree:反向輸出調用樹。把調用層級最深的方法顯示在最上面,更容易找到最耗時的操作。

  • Hide Missing Symbols:隱藏缺失符號。如果dSYM文件或其他系統架構缺失,列表中會出現很多奇怪的十六進制的數值,用此選項把這些幹擾元素屏蔽掉,讓列表回歸清爽。

  • Hide System Libraries:隱藏系統庫文件。過濾掉各種系統調用,只顯示自己的代碼調用。

  • Flattern Recursion:拼合遞歸。將同一遞歸函數產生的多條堆棧(因為遞歸函數會調用自己)合並為一條。

雙擊就可以定位到具體的代碼了。

更多參考:

ios Instruments之Allocations
iOS Instruments之Leaks
iOS 性能優化:Instruments 工具的救命三招

iOS性能優化之Leaks動態分析