【问题标题】:Xcode instruments low memory warning app killed on 2 MB live bytesXcode 仪器低内存警告应用程序在 2 MB 实时字节上被杀死
【发布时间】:2013-08-05 18:02:58
【问题描述】:

我的应用程序崩溃并在设备上显示内存不足警告,即使仪器中的最大活动字节数为 3 MB。我确实在我的应用程序中使用了很多重型 PNG(大约 20 个 ViewController),我相信 ARC 应该已经处理好了。

这是截图。

【问题讨论】:

  • Live Bytes 并不是故事的全部。跟踪您的应用程序的脏内存(如果您在仪器等中搜索脏内存,有很多教程)
  • 另外,检查您的应用程序中的内存泄漏。
  • 是的,我确实运行了静态分析和内存泄漏,到目前为止没有问题。

标签: ios objective-c xcode


【解决方案1】:

减小重 png 文件的大小。 Png 文件必须具有良好的分辨率,但大小必须小于不超过 2 MB。我也遇到了同样的问题,但使用了 3 20 框架解决了我的问题,因为它可以完美地管理图像文件分配。现在,似乎 Three 20 没有更新,但如果您愿意,您仍然可以在示例应用程序中尝试它。这是链接:http://three20.info/

【讨论】:

  • 现在没人应该使用three20。
【解决方案2】:

我自己想通了。问题是我正在使用一堆 PNG 制作动画。

所以当使用这个

image.animationImages=imageFrames;

每次调用它都会将所有图像缓存在内存中,这会导致脏内存填满并导致应用程序崩溃。所以,每次使用它释放图片缓存后,我们都需要这样做

image.animationImages=nil;

【讨论】:

  • 如果它帮助您解决问题,您可以接受自己的答案。
猜你喜欢
  • 2023-03-27
  • 2011-10-10
  • 1970-01-01
  • 2012-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-23
相关资源
最近更新 更多