我的应用程序存在问题,需要显示大量图像和视频。
运行ObjectAlloc工具后,我看到实时字节为640Kb,当应用程序崩溃时总内存为31,54Mb。
在组织者中我得到一个“低内存”报告,所以我猜应用程序崩溃了,因为内存不足但ObjectAllocation数据对我没有任何意义......
有什么想法吗?
这是Organizer崩溃日志:
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**
答案 0 :(得分:7)
ObjectAlloc
工具不会显示应用程序的完整内存使用情况,特别是如果您正在处理许多用户界面元素。要在任何给定时间更准确地读取应用程序的总内存占用量,请使用Memory Monitor
仪器。您将看到您的应用程序确实超出了设备的内存阈值。''
您可以通过单击Instruments中工具栏的“库”按钮添加Memory Monitor
仪器。将显示所有可用仪器的列表,并将Memory Monitor
拖到主窗口的“仪器”区域。
如果将Memory Monitor
工具与ObjectAlloc
工具结合使用,您应该能够跟踪应用程序中触发内存峰值的内容。选择内存监视器的Track inspection head
选项(在“仪器”列表下方;首先单击“内存管理器”以激活该工具,选项将显示在底部窗格中),以便在任何位置查看应用程序的记录内存大小。它的执行。