iOS 低内存崩溃,但内存使用率非常低 [英] iOS Low Memory Crash, but very low memory usage

查看:19
本文介绍了iOS 低内存崩溃,但内存使用率非常低的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这个问题困扰我很久了.我的应用程序运行时占用了大约 2.74MB 的内存.没关系.但是当它创建一个 UIWebView 时,它会上升到大约 5.87MB 并继续崩溃.这些是在我的第一代 iPad 上运行时在 Instruments 中的 Live Bytes 下给出的值.

This has been annoying me for a long time. My app runs taking up about 2.74MB of memory. That's fine. But then when it creates a UIWebView it goes up to around 5.87MB and proceeds to crash. Those are the values given under Live Bytes in Instruments while running on my 1st gen iPad.

我找不到崩溃日志.以下来自控制台:

There is no crash log that I can find. The following is from the console:

MyApp[1205] <Warning>: Received memory warning. Level=1
MyApp[1205] <Warning>: applicationDidReceiveMemoryWarning
SpringBoard[30] <Warning>: Received memory warning. Level=1
MobileMail[1199] <Warning>: Received memory warning. Level=1
configd[26] <Notice>: jetsam: kernel memory event (95), free: 428, active: 1853, inactive: 1011, purgeable: 338, wired: 15122
configd[26] <Notice>: jetsam: kernel termination snapshot being created
com.apple.launchd[1] <Notice>: (UIKitApplication:com.apple.mobilemail[0x8966]) Exited: Killed: 9
com.apple.launchd[1] <Notice>: (UIKitApplication:com.MyApp.MyApp[0xdd4f]) Exited: Killed: 9
SpringBoard[30] <Warning>: Application 'Mail' exited abnormally with signal 9: Killed: 9
kernel[0] <Debug>: launchd[1207] Builtin profile: MobileMail (sandbox)
SpringBoard[30] <Warning>: Application 'MyApp' exited abnormally with signal 9: Killed: 9
configd[26] <Debug>: CaptiveNetworkSupport:UIAllowedNotifyCallback:70 uiallowed: false
ReportCrash[1206] <Error>: libMobileGestalt loadBasebandMobileEquipmentInfo: CommCenter error: 1:45
ReportCrash[1206] <Error>: libMobileGestalt copyInternationalMobileEquipmentIdentity: Could not get mobile equipment info dictionary
ReportCrash[1206] <Error>: Saved crashreport to /Library/Logs/CrashReporter/LowMemory-2011-05-12-160645.plist using uid: 0 gid: 0, synthetic_euid: 0 egid: 0

我删除了所有对 imageNamed 的调用,将自动发布的内容更改为 alloc/release.但我无法弄清楚为什么会发生这种情况,这让我发疯.

I have removed all calls to imageNamed, changed autoreleased stuff to alloc/release. But I cannot work out why this is happening and it's driving me insane.

感谢您的帮助!

推荐答案

几乎可以肯定,您使用的内存比您想象的要多得多.

You are almost certainly using a lot more memory than you think.

要查看您的应用实际使用的内容,您需要做什么并不明显,但是一旦您这样做了几次,您就会记住.

It's not obvious what you have to do to see what your app is really using, but once you do it a couple times, you'll remember.

  1. 使用分配性能工具运行.
  2. 单击分配"下的 VM 跟踪器行"(在屏幕截图中)
  3. 点击自动快照"

然后你会看到你的脏内存(在我的截图中目前是 20.34MB).

Then you will see your Dirty memory (currently 20.34MB in my screenshot).

这应该能让您更好地了解应用退出的原因.你可能有一些大的泄漏发生.

This should give you a much better picture of why your app is getting quit. You probably hav some large leaking happening.

祝你好运!

这篇关于iOS 低内存崩溃,但内存使用率非常低的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆