我的应用因内存不足而崩溃。我不确定这完全是我的错,因为它列出了大约7或8个其他应用程序崩溃了?我该怎么办呢?
Incident Identifier: 2CC74C33-179F-4CD2-8FAA-00CF0A344749
CrashReporter Key: 1657e021ecba3a19c5ed9f0cff62947a426a2bc2
Hardware Model: iPhone3,1
OS Version: iPhone OS 4.1 (8B117)
Date: 2010-10-24 12:20:38 +0100
Time since snapshot: 2044 ms
Free pages: 1329
Wired pages: 21508
Purgeable pages: 0
Largest process: Instagram
Processes
Name UUID Count resident pages
securityd <3dcc6e23849cb3ee197720700284156d> 309
sandboxd <4c01175d65fe7efb292e307389d3387b> 178
ReportCrash <2ad0d335f1b93cc74e0b5be79850229d> 255
mDNSResponderHel <a0d7f455b6f2069587ea7bc956d79655> 70
Stocks <55e537a6739e58dc068e1436930213ba> 1162
mediaremoted <507d59f44f735d6e2855b23a6275557a> 216
MobileMusicPlaye <02ed082c795446617957bbae8974a2c8> 1052
dataaccessd <40c418e18e9bbd950ef7e3fb593645de> 618
spd <6419715f9e6891201e16b722fca84793> 126
MobileMail <215c71d2434ce352d04786b93cda5340> 2483
calaccessd <90c4c48a02f0dbf0d1adaad27b8d5945> 427
MobileCal <db3e6efa621fc989420ccc43298d5b80> 1619 (jettisoned)
StockTwits <3786112667f535bff10bb6f7966bb852> 2067 (jettisoned)
Mint.com <0f38a50fd98c755ef34e0fe8b0c25adc> 4461 (jettisoned)
AppStore <99bf23a9224aa148ac3e009873f9c7b9> 998 (jettisoned)
Reeder <dcb69039fa5b4426b3db9f9920054f3e> 5835 (jettisoned)
Meebo <22f145af489fb92066006a5a3cac813a> 3684 (jettisoned)
MobileSafari <67a5ebc3754e0ce1e482760c7e56f9c5> 3512
Skype <d570c35d6d2f51713e874937dd8112f4> 4769
Facebook <ae1fa9da7f8951ffbf693bbd0ed36aaf> 2459 (jettisoned)
MobileTimer <98640aaee653fc9188652d6cdab13d67> 1294 (jettisoned)
Twitter <62edb7ce453c603ad1b8b3bdcbc4910b> 5843
MobileSlideShow <40eded841026ed418bebe49a342f2c8f> 3566
Instagram <25e2a98b5d3de6f2cf2f246df8a49a9d> 11523 (active)
misd <d9b8f85780f931007d309fc836185ab0> 119
MobileStorageMou <bd2184fe17b3c9ccbadd9120bd669c99> 102
Preferences <9123dcc666c97bb1d63a5921968c8b34> 1666
MobilePhone <b50b6283b8c52a51fb9e48ee5c909b80> 804
imagent <4ef86a68405738280f19e5fbc0af56db> 291
lsd <4fb2cf7b5475b39b2c56d9588821eb45> 157
SCHelper <30ca097cbb6306cf66157da7fd4de07c> 110
notifyd <ab40010781bef81228df18acf1acdbb2> 129
BTServer <ce7c062b4df09b835c77a6086b7ef0d8> 136
CommCenter <a8a6257faa2a5213f0a2f5c763f9acfe> 335
SpringBoard <983033e585706c1c6c99eed85cd8dbdb> 8315 (active)
accessoryd <b99ccd1b099c015edb93e8d1cbf03e36> 109
apsd <f031a0e787d8840097a4812fb1c89f5e> 240
awd_ice3 <b598d42ac4fdd950ac5c2c9a1835f70e> 124
configd <b2b3af98743381e759dd5b17115a0378> 548
fairplayd.N90 <3ae05b3bbcb034b0d4d4712e8fc19f99> 95
locationd <963c5d93cfaf1b1139045b1658ecfc26> 1031
mDNSResponder <68dc311f118d171ede7b91f43c323b7d> 235
mediaserverd <3ebe3a043c2dba96b70d8ede30bcb6ab> 1220
lockdownd <bfeda752b819f06f4828e112d3ca695c> 326
syslogd <60e8005a73e76d6ee81a8b45a9443a16> 94
launchd <b15ff1a8f2f37c3b0df0343899757b17> 103
**End**
答案 0 :(得分:2)
这是预期的行为。后台应用程序继续只在最前面的应用程序休闲时运行。如果最前面的应用程序决定它需要你的资源,你别无选择,只能立即放弃它们。
答案 1 :(得分:1)
确保使用仪器和X-code的内置俚语分析仪修复应用程序中的所有泄漏。
使用仪器尽可能多地运行您的应用程序。释放dealloc
方法中的所有实例变量并确保您对didRecieveMemoryWarning:
作出反应。
在didRecieveMemoryWarning:
中设置一个断点,然后你可以确认这是你的错。
答案 2 :(得分:0)
我怀疑你能。总是检查分配的返回值,完成时释放内存,尽可能少地使用内存,(我不记得这是否适用于iPhone)运行valgrind以查找应用程序中的任何内存泄漏
答案 3 :(得分:0)
当iOS决定终止您的应用时,已经太晚了。
相反,如果您的应用程序处于活动状态,则在applicationDidReceiveMemoryWarning:
或the equivalent notification收到UIApplicationDelegate
消息时,您需要删除不需要的内存。
为了最大限度地减少当另一个应用程序使用太多时应用程序被驱逐出内存的可能性,您所能做的就是释放您在进入后台时可以重新创建的任何数据(几乎相同)当内存不足时你应该经历的过程。)
但是,你永远不能保证永远不会被终止。
答案 4 :(得分:0)
我遇到类似的问题,我的应用程序崩溃了低内存警告。我已经在didReceiveMemoryWarning
委托方法中释放了内存,但它仍在崩溃。
最终我在RootViewController中注释了[super didReceiveMemoryWarning]
(我使用导航应用模板创建了我的应用)。我认为发生崩溃是因为RootViewController在该调用中被释放。