我的應用程序出現問題,需要顯示大量圖像和視頻。640Kb活動字節的低內存?
運行ObjectAlloc工具後,我看到活動字節爲640Kb,應用程序崩潰時整個內存爲31,54Mb。
在主辦單位,我收到了「內存不足」的報告,所以我猜的應用程序崩潰,因爲內存不足而ObjectAllocation數據沒有任何意義,我...
任何想法?
這是主辦方崩潰日誌:
Incident Identifier: CDCAF38C-CFFD-4316-9C4A-5C8E37794B49
CrashReporter Key: 65390aeb97b2b81076576c3e33b025feb5db9202
OS Version: iPhone OS 3.1.3 (7E18)
Date: 2010-05-19 10:07:19 +0200
Free pages: 372
Wired pages: 12260
Purgeable pages: 0
Largest process: DTMobileIS
Processes
Name UUID Count resident pages
ATreeTest <1d51c3a5fef8b747c3a1be9405bdd52a> 1150 (jettisoned) (active)
DTMobileIS <69c3fa96db2f29474d62964aa1a69bfa> 3316
notification_pro <8a7725017106a28b545fd13ed58bf98c> 68
mediaserverd <3d3800d6acfff050e4d0ed91cbe2467e> 464 (jettisoned)
syslogd <8eddddc00294d5615afded36ee3f1b62> 56 (jettisoned)
apsd <32070d91b216d806973c8f1b1d8077a4> 173
SpringBoard <324939a437d1cca1fa4af72d9f5d0eba> 2475 (jettisoned) (active)
accessoryd <8f21c8b376d16e2ccb95ed6d21d8317a> 99 (jettisoned)
notification_pro <8a7725017106a28b545fd13ed58bf98c> 64
ptpd <f5e735bffd0557fcdc53cb35b6d9ce66> 129
notifyd <591dd4dd804b4b8741f52335ea1fa4ab> 64
CommCenter <b4b87526ae086bb62c982f1078f43f81> 167
configd <85efd41aceac34ccc0019df76623c7a9> 294
fairplayd <a2eaf736b3e07c7c9a2c82e9eb893555> 91
mDNSResponder <df1cd275e4ad434e0575990e8e1da4cb> 101
lockdownd <80d2bd44c0bcca273d48ce52010f7e65> 285
launchd <a5988245aade809bf77576f1d9de42c5> 71
**End**
好的謝謝 - 偉大的提示。真正的內存始於137MB負載而無需執行任何操作。這真的很對嗎?所以現在我正在使用Allocations,然後是CallTree子部分。我終於看到符合137MB的數字。我向下看到調用樹時,內存部門的所有重擊者都是這些渲染類,它們會吐出圖像。我正在使用CGContextRef和繪圖等等,然後在最後吐出並返回一個UIImage * img = [UIImage imageWithCGImage:imageMasked]並釋放一切。 – 2010-09-19 02:03:05
我不明白這是否準確。其他答案認爲,'真正的內存'包括已經發布的內存塊,但操作系統還沒有回收(參見http://stackoverflow.com/a/8797272/287403)。那麼正確與否?我應該擔心在存儲器監視器中的對象分配中的10MB「實時字節」還是我的80 + MB「實際存儲器」? – 2012-03-12 01:20:17
@BobSpryn - 我可以從經驗告訴你,Memory Monitor報告的內存使用情況看起來非常漂亮。在較舊的設備上,記憶警告在我跨過本儀器測量的某些閾值的瞬間觸發。我在這裏的答案中提供了有關分配和內存監視器儀器之間差異的更多解釋:http://stackoverflow.com/a/5627221/19679 – 2012-03-12 14:21:41