例如: 在Xcode開啓Leaks
主界面如下
Instruments內定幾個常用範本, 例如: Activity Monitor, CPU sampler, Leaks, Object Allocation,
Core Animation and OpenGL ES
Activity Monitor可以同時顯示CPU負載和虛擬記憶體容量, CPU負載又可分別看到使用者負載和系統負載
CPU Sampler可以紀錄各個lib佔用CPU週期狀況, 以及當時的CPU負載
Leaks可以紀錄記憶體中的各種物件分配和他門佔用的記憶體空間大小, 透過Leaks可以看到軟體是否有記憶體洩露出現
Object Allocation可以紀錄所有物件的分配, 以及他門佔用的記憶體大小
Core Animation和OpenGL ES可以紀錄軟體的及時媜數(FPS), 以及當時的CPU負載情況, 能夠對軟體的動畫性能有個量化認識
例如: 使用Instruments查詢記憶體洩露
功能表-> run -> Start With Performance Tool -> Leaks
隨後Xcode會自動編譯並執行軟體, 所有資料會即時更新, 此時在模擬器或設備上操作軟體就可以看到不同的使用者操作對系統產生的影響
從上圖可看到, 在重複一個使用者操作時, 記憶體佔用出現持續上升的趨勢, 而沒有出現下降,... 出現這樣的情況表示記憶體洩露, 正常軟體的記憶體佔用應該在剛啓動時上升, 而在一段時間後持平, 或者出現上下波動情況
沒有留言:
張貼留言