我有一个现有的应用程序,我做了一些最近的更改,我一直在测试这些更改.该应用程序在我测试的每个iPad上运行得非常好(iOS 4和iOS 5).在我的应用程序加载多个(50+)大量图像的意见后,我收到了内存不足的警告,我viewDidUnload方法被调用,他们正确零出所有的控制和我的内存图像缓存清除本身并应用只是继续精细.
但是,在iPhone 4和iPhone4s(iOS 5.0.1和iOS 5.1)上,我遇到了一个问题,即我的应用程序内存不足而没有收到低内存警告.在加载了几个不同的视图后,最终会出现一个新的视图并且大部分是空白的,在控制台上我看到了内存分配消息,整个手机都没有响应,有时会杀死我的应用程序.
发生这种情况的特定视图每次都是不同的,因此它与任何一个视图无关,只是随着时间的推移而积累的内存.我也确认我也没有任何内存泄漏.
这个现有问题是类似的:
并且这个答案表明,如果我陷入循环,这可能会发生,但我很确定我的代码不会卡在任何循环中.我只是在UINavigationController中从一个视图点击到另一个视图,并在每个视图中加载了几个图像.另外,另一个问题是专门在iPad上发生的,我没有在iPad上看到这个问题,只有iPhone.
顺便说一下,我已经尝试通过NotificationCenter注册低内存通知,并在我的app委托中有一个applicationDidReceiveMemoryWarning方法,并且两者都有断点,并且都没有被调用.此外,调试器控制台中也没有显示低内存消息.
关于可能发生的事情的任何想法?
在2012年3月26日添加:
有趣的是,当我在新iPad上测试我的应用程序时,它有同样的问题,我在iPhone 4和4s上看到没有收到低内存通知.所以我想知道我是否看到了与其他线程相同的问题:
但该线程上的开发人员正在测试仅限iPad的应用程序,因此不会在任何iPhone上测试和发现同样的问题.
我做了一些广泛的测试,并有一个设备列表,我正确地收到了低内存警告和我从未收到它的设备.到目前为止,我只看到iOS5或更高版本的问题,但是在iOS1和iOS5的iPad1上我没有看到问题,因此它不仅仅是iOS 5上所有设备上的问题.
这是那个清单:
iPad1 4.2.1
iPad1 5.0
iPad1 5.1
iPad2 4.3.3
iPhone3G 4.2.1
iPod 3G 4.3.3
iPhone4 4.3.3
iPhone4 5.1
iPhone4s 5.0.1
iPad3 5.1
我有一段时间没遇到问题了,我想知道是否有人可以提供帮助.我正在使用主导航控制器和大量UIImage开发IOS应用程序(iPad).在使用该应用程序一段时间之后,应用程序因低内存而死(不是在特定视图中)但是通过检查iPad日志,我并不总是看到低内存警告(有时候我会这样做,有时候我没有).即使我收到一个,它只是" 收到低内存警告 ",但我从未得到" 1级 "或" 2级 ".
通过使用xCode的泄漏仪器,我找不到任何泄漏.
有人可以帮忙吗?
我有一个问题应用程序,基于导航,我创建并每次从笔尖推送我的tableviews.没有泄漏,仪器中的实时字节大约为2-3 MB.
我在真实设备(越狱IOS4 iPhone)中测试,当我深入导航(大约200页推送)时,我可以看到内存使用量高达150 MB!当我导航回root时,他们都被释放了,但这不是一个奇怪的行为吗?(每个笔尖视图大约800 KB,其中没有大数据或图像)
最奇怪的是,我对didreceivememorywarning和didunloadview方法提出了一些警告,但没有收到任何内存警报!
- 为什么我从来没有得到任何内存警告和viewDidUnload甚至应用程序使用150 MB和更多的内存? - 应用程序有效,但这个内存使用对Apple商店来说是个问题吗?