1. 程式人生 > >iOS效能分析-Xcode Instruments Allocations 分析APP記憶體使用情況

iOS效能分析-Xcode Instruments Allocations 分析APP記憶體使用情況

Allocations圖.png

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.png

可以對每個動作的前後進行Generations,對比記憶體的增加,檢視使記憶體增加的具體的方法和程式碼所在位置。 在右側Generation Analysis裡點選Mark Generation,會產生一個Generation,切換到其他頁面或一段時間產生了另外一個事件時再點Mark Generation來產生一個新的Generation,這樣反覆,生成多個Generation,檢視這幾個Generation會看到Growth的大小,可以點進去檢視相應占用較大的執行緒裡右側Heaviest Stack Trace裡檢視對應的程式碼塊,然後進行相應的處理。