我正在使用儀器和分配儀器。我只測試與我的應用程序的固定交互。iPhone:儀器分配穩步增加
我有一個導航控制器,深入4個階段。前兩個階段是標準的表格視圖控制器,後兩個階段是具有動態加載圖像的自定義控制器。
所以我跑我的工具應用程序(通過運行與性能工具 - >分配),然後執行以下交互:
1. App Loads
2. I wait a bit until allocations graph stabilizes
3. I tap/push into my navigation controller until the deepest level.
4. I wait for the images to load and for the allocations graph to stabilize.
5. I tap back out of the navigation controller until I'm back to the root level.
6. I wait for the allocations graph to stabilize.
7. GOTO 3.
現在我已經注意到的是,從3每次迭代到7之間分配圖顯示稍高的值。因此,即使我正在做同樣的事情,並且所有視圖控制器的dealloc被調用,整體分配也在增加。
所以時間軸看起來大致是這樣的:
1. Start: 1mb
2. Push controllers/Load images: 4mb
3. Pop controllers: 1.1mb
4. Push controllers/Load images: 4.1mb
5. Pop controllers: 1.2mb
6. ... etc ... (always increasing slightly)
所以我的問題是這是否意味着我有泄漏或這正常嗎?分配圖數據實際上代表什麼?爲什麼即使我突然回到初始狀態,價值也在增加?我擔心,如果我的應用運行時間足夠長,即使所有用戶都在做的是推送和彈出視圖控制器,它也會消耗太多內存。
任何想法都會有所幫助。
感謝您的建議。你是對的,使用泄漏儀器,我發現我有3個泄漏從一開始。我將不得不做一些挖掘,看看究竟發生了什麼。 – nebs 2010-06-29 20:24:38
如果你有一個視圖控制器,你推,然後彈出,內存的使用應該是完全一樣的,你第一次推它之前?或者它是否正常上漲〜0.2mb? – 2011-11-05 04:58:15