3

由于收到内存警告,我的应用程序崩溃。

如果我运行该应用程序几分钟,然后执行任何操作,该应用程序会立即崩溃。

我什至检查了内存泄漏,但没有内存泄漏。此外,该应用程序在模拟器中运行良好。

我注意到的是,每当我收到“收到内存警告”时,就会调用项目中每个文件的“didReceiveMemoryWarning”方法,然后应用程序崩溃。

有什么解决办法吗?

4

3 回答 3

3

好吧,坦率地说,你只是使用了太多的内存。didReceiveMemoryWarning被调用,以便您可以尝试自己释放一些内存,这样您就不会使应用程序崩溃(释放未使用的东西,以后可以重新加载)。

在运行应用程序时,模拟器在硬件方面并不准确,所以我不会总是依赖它,这可能就是你在模拟器上没有收到警告的原因。

我真的不能说是什么导致您的应用程序从您提供的信息中使用了这么多内存

于 2013-03-14T09:36:53.790 回答
1

在 ARC 中,创建接收到的内存警告问题的事件(功能)需要在内部。接收到的@autoreleasepool{}内存警告问题可能会发生,这会从设备内存过载。

于 2013-03-14T09:43:25.237 回答
1

通过仪器检查应用程序->内存分配

它将显示应用程序使用的所有内存,如果有任何泄漏,它将显示。

您是否使用过重的图像?

于 2013-03-14T10:16:40.050 回答