4

活動監視器(a.k.a.內存監視器)是Xcode Instruments中唯一可以測量在Simulator中運行的iPhone應用程序的總應用程序RAM使用情況的工具嗎?只是顯示瞬時有線RAM的那條線?Xcode Instruments:模擬器中運行的iPhone應用程序的峯值RAM?

與iPhone硬件相比準確度有多高,尤其是給OSX分頁I/O到VM的時候?

我看到只有默認的Xcode iPhone項目模板(除OpenGL以外)編譯和運行的7-8MB有線RAM數字。同時Object Allocations在1MB以下顯示所有對象。

回答

7

不,還有更好的方法來做到這一點。

轉到運行菜單,然後選擇Run with Performance Tool,然後Object Allocations

這將啓動儀器並顯示RAM使用情況。如果選擇Leaks而不是Object Allocations,它對檢測內存泄漏也很有用。

1

我同意,由於模擬器只是一個「API模擬器」,所以您看到的行爲至少在某種程度上依賴於OS X如何管理內存。這些限制顯然是不同的,例如你可以超過128MB的內存,甚至256MB,這在目前的iPhone或iPod Touch上顯然是不可能的(至少在寫作時......)。

我仍然發現它在OpenGL中很有用,可以確保紋理和其他項目正確釋放,但除此之外,這只是一個粗略的指導。

但是,如果您想查看設備上的內存使用情況,有一個足夠簡單的解決方案。只需將目標設備放在Xcode中,然後轉到Run> Run with Performance Tool> Object Allocations,然後構建將被髮送到設備,Object Allocations工具將在Xcode旁邊彈出並顯示設備內存使用情況。

相關問題