我的应用程序有一个问题,需要显示大量的图像和视频。
运行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**发布于 2010-05-20 03:51:07
ObjectAlloc仪器不会显示应用程序的全部内存使用情况,尤其是在处理大量用户界面元素时。要更准确地读取应用程序在任何给定时间的总内存占用,请改用Memory Monitor仪器。您将看到您的应用程序确实超过了设备上的内存阈值。
您可以通过单击仪器中工具栏的库按钮来添加Memory Monitor仪器。此时将显示所有可用仪器的列表,您可以将Memory Monitor拖动到主窗口的仪器区域。
如果您将Memory Monitor工具与ObjectAlloc工具结合使用,您应该能够跟踪在应用程序中触发内存峰值的原因。选择内存监视器的Track inspection head选项(在仪器列表下方;首先单击内存管理器激活该工具,选项将出现在底部窗格中),以查看应用程序在执行过程中的任何时间点记录的内存大小。
https://stackoverflow.com/questions/2865786
复制相似问题