iOS效能分析-Xcode Instruments Allocations 分析APP記憶體使用情況
阿新 • • 發佈:2018-12-11
All Heap & Anonymous VM
堆記憶體+虛擬記憶體
All Heap Allocations
堆記憶體
All Anonymous VM
虛擬記憶體
# Persistent
表示在記憶體中的 object 的數量,正在使用的記憶體
# Transient
表示存在過但是目前已被銷燬的 object 的數量,其佔用的記憶體已被釋放
1、Statistics統計項
category:物件、記憶體塊類別
# Persistent
表示在記憶體中的 object 的數量,正在使用的記憶體
# Transient
表示存在過但是目前已被銷燬的 object 的數量,其佔用的記憶體已被釋放
2、Call Trees統計項
symbol name
:方法名稱
count
方法被呼叫的次數
3、Allocations List統計項
address
:記憶體塊的地址
4、Generations統計項
Snapshot
:快照名
Timestamp
:快照時間
HeapGrowth
:自從上次快照以來的增長數量
可以對每個動作的前後進行Generations,對比記憶體的增加,檢視使記憶體增加的具體的方法和程式碼所在位置。 在右側Generation Analysis裡點選Mark Generation,會產生一個Generation,切換到其他頁面或一段時間產生了另外一個事件時再點Mark Generation來產生一個新的Generation,這樣反覆,生成多個Generation,檢視這幾個Generation會看到Growth的大小,可以點進去檢視相應占用較大的執行緒裡右側Heaviest Stack Trace裡檢視對應的程式碼塊,然後進行相應的處理。