【问题标题】:app crash with Memory Pressure,how can I solve it [closed]应用程序因内存压力而崩溃,我该如何解决它[关闭]
【发布时间】:2014-02-11 03:51:30
【问题描述】:

我的 iOS 游戏在设备中调试它,每 5 分钟就会崩溃一次。在我的游戏中,一些对象是保留,一些是自动释放。我知道我的游戏有内存泄漏,但我会尽力修复它。接下来我该怎么做?

我尝试使用 Insturment Leaks 追踪泄漏位置,也尝试了设备调试日志。但没有任何帮助。

非常感谢。

PS:忘记我的基础英语。

【问题讨论】:

  • 使用 ARC。它会比保留和自动释放更好地管理内存。
  • @matt 我认为在这种情况下,我不应该使用 ARC。还有其他方法可以解决吗?
  • 当然还有其他方法。您可以自己学习正确管理内存。但你显然没有做到这一点。哪个对你来说更容易,学习一些你显然没有成功学习的东西,还是选择编辑 > 重构 > 转换为 Objective-C ARC?
  • 你也很清楚(从你的其他 cmets)甚至不知道 ARC 是什么。就像一个拒绝品尝不熟悉的食物的孩子,你不假思索地拒绝它。在此基础上投票结束。
  • 这个问题似乎是题外话,因为提问者没有提供任何关于问题的信息并且拒绝接受建议。

标签: ios memory-leaks crash memory-pressure


【解决方案1】:

你必须使用自动引用计数(ARC),它会比你正在做的更好地自动处理内存

【讨论】:

  • 但是如果我使用 ARC,一切都超出了我的控制。例如,如果我想在某个时间显示该图像,但我不知道确切的时间。在这种情况下,我应该使用 ARC?
  • ARC 会自动删除项目中没有使用的坏内存,但它不能删除对象,所以当你需要你想要的图像时,你可以访问那个图像。
  • 这是否意味着在我使用ARC之后,我可以随时访问我的图像?因为我现在不使用的一些图像并不意味着我以后不会使用它。或者,如果我使用ARC,每次我想使用那个图像时,我应该用“autorelease”分配它?而不是“retain”?
  • 使用ARC时,不必使用autorelease,它会自行释放坏内存
  • 是的,我明白了。所以,你建议我将我的项目转移到 ARC 模式吗?我想你会花很多时间,因为我的项目非常庞大,我是其中的一部分project.我认为代码量超过250,000行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-30
  • 1970-01-01
  • 1970-01-01
  • 2015-10-13
  • 2015-12-21
  • 2014-10-20
  • 1970-01-01
相关资源
最近更新 更多