我看到我的应用程序因为内存不足而被丢弃。为了追踪这个问题,我在分配工具上运行了这个应用程序。不幸的是,当内存被杀死时,我看不到内存使用上的任何问题。
在弹出的时候,这个应用程序正在播放一段视频,已经播放了45秒。据我所知,就我所知,没有任何接触或其他事件对此有所贡献。
坠机报告和一些仪器:
Incident Identifier: AF9F802D-F9B9-406D-951F-675AEE9ACCDF
CrashReporter Key: 0563d9f62086be9f13ffd2d60b3b0bec7c5d677e
OS Version: iPhone OS 3.2.1 (7B405)
Date: 2010-09-03 10:28:20 +0100
Free pages: 693
Wired pages: 22014
Purgeable pages: 0
Largest process: Wheel
Processes
Name UUID Count resident pages
Wheel <7c2db04027d9b0c387b2389c64499ebe> 18864 (jettisoned) (active)
DTMobileIS <b34df288cd9a07a995933bbd6b66717a> 1697
notification_pro <4c9a7ee0a5bbe160465991228f2d2f2e> 72
notification_pro <4c9a7ee0a5bbe160465991228f2d2f2e> 72
syslog_relay <1c73f841b191556b6911bc6b4736b50f> 71
ptpd <e3f855cfd629600a4812e7e90c77667e> 253
lsd <eb108595d2a932a8d244d1ab7386cd0f> 162
notifyd <74e4a487a89c31f68917b22605baf6c6> 63
BTServer <21dd98c0ab29b910cd51cb703a9cb9b9> 213
CommCenter <e4b9cc04f083f22232c92ee1363fe669> 187
SpringBoard <745085d9a24a8529f0ceb6c33d766873> 4281 (active)
accessoryd <59ca0ba146c28bf5c8ab6e3d2e81bbad> 112
configd <36001fe17103f8af6d3b525cb23ac8a0> 356
fairplayd.K48 <2d997ffca1a568f9c5400ac32d8f0782> 81
locationd <60fd4d90fec18a76ffc0b8a45351fe54> 626
mDNSResponder <a6f01dd493e3d2bfe318f5d44f8508e2> 144
mediaserverd <2eda3ce5e1c8a1a4d7b8271cef1f2d12> 1624
lockdownd <378f09833cdc57b1b60e42d79c355938> 283
MobileStorageMou <7f2cd9f90fab302a42a63460b1c4d775> 72
syslogd <6990426209e51a8ee13c91cd1a050a2e> 69
launchd <880e75c2db9c0f670516c58935e89b58> 88
**End**

我还能做些什么来追查弃尸的原因吗?有人知道坠机报告中的常驻页码是什么意思吗?
编辑
在应用程序运行时,有任何方法可以获得常驻页面的计数吗?
发布于 2010-09-04 10:25:20
好的,我看到我的应用程序被丢弃,而没有看到泄漏或分配中的任何奇怪的活动,是因为我(无意中)缓存了几个大图像,这导致我的应用程序增加了内存使用量。
问题的根源是对UIImage imageNamed:的几次调用,后者缓存了图像数据。将调用从此方法转换为不缓存的方法解决了问题。
如果你想要更多的细节,我已经张贴了一篇简短的文章。
https://stackoverflow.com/questions/3634538
复制相似问题