2011-06-10 48 views
3

我正在使用儀器來分析我正在開發的iPhone應用程序中的內存使用情況。我在想,什麼是合理的內存分配大小?iPhone:Xcode,樂器,內存分配。什麼是合理的?

當我得到我的目標的信息,我想檢查框忽略「NS」,「CF」和「Malloc」前綴或不?當我不忽略它們時,我看到在啓動時大約47MB的整個字節的值非常大,但活動字節僅爲大約6MB。當我忽略前綴的時候,總體來說我會得到大約1MB,並且現在有350KB。什麼是忽略或不忽略前綴的好理由?這裏,總體字節和活字節之間有什麼不同?

最後,如果需要,我可以通過哪些方式減少應用程序的內存佔用?

回答

5

忽略NS,CF或Malloc的複選框僅允許您過濾到總分配的不同子集。無論你是否檢查他們取決於你在找什麼。顯然,讓他們全部不被檢查會給你提供最全面的視圖,但是如果你正在尋找特定的東西,你可能會忽略其他類別。

「Live」數據是未發佈的數據,而「整體」數據是您曾經分配過的所有數據,即使它已經發布。

請注意,「分配」工具只能讓您查看您使用的堆內存。這很窄。您的應用程序也直接或間接使用內存來處理其他事情。此外,內存碎片會導致您的總內存使用量遠高於分配工具中的內存使用量,因爲內存是由操作系統在4k頁面中提供的。

您應該使用VM Tracker工具查看應用程序的總內存使用情況。

相關問題