由于收到内存警告,我的应用程序崩溃了。
如果我运行应用程序几分钟然后做任何事情,应用程序会立即崩溃。
我甚至检查过内存泄漏,但没有内存泄漏。该应用程序在模拟器中工作正常。
我注意到的是每当我收到“收到内存警告”,然后调用项目中每个文件的“didReceiveMemoryWarning”方法然后应用程序崩溃。
对此有任何解决方案吗?
答案 0 :(得分:3)
嗯,坦率地说,你只是在使用太多内存。 didReceiveMemoryWarning
被调用,这样你就可以自己尝试释放一些内存,这样你就不会崩溃应用程序(释放以后可以重新加载的未使用的东西)。
在运行应用程序时,模拟器并不是准确的硬件方式,所以我不会总是依赖它,这就是为什么你不在模拟器上得到警告的原因。
我无法确切地说是什么原因导致您的应用从您提供的信息中使用了如此多的内存
答案 1 :(得分:1)
在ARC中,创建接收到的内存警告问题的事件(功能)需要在@autoreleasepool{}
内。可能会发生从设备内存过载的内存警告问题。
答案 2 :(得分:1)
按工具检查应用程序 - >内存分配
它将显示app使用的所有内存,如果有任何泄漏,它将显示。
你使用沉重的图像吗?