gpt4 book ai didi

ios - 内存使用量增加

转载 作者:行者123 更新时间:2023-12-01 17:39:31 25 4
gpt4 key购买 nike

我有一个简单的问题——应用程序在运行时使用的内存是否在每次加载 View Controller 时都会略微增加(0.1mb)?我有一个无限关卡的游戏,如果玩家失去 View Controller ,基本上会刷新(例如,所有计时器都无效)并加载主菜单 Controller 。然后每次重新启动无限级别时,内存(显示在调试导航器中)都会增加。所以第一次玩这个级别是 226 mb,第二次是 226.2 mb,第三次是 226.4 mb 等等。这是一个问题吗?

最佳答案

可能发生的情况是,当您释放无限级别的 View Controller (通过从 super View 中解散/删除)时,仍然有一些对 Views/iVars/Properties 的强引用仍然悬而未决。尝试在释放 View Controller 之前释放所有属性和实例变量。您还可以尝试将所有 IBOutlets(不会从 View 中删除)定义为弱类型,以便在 View Controller 关闭时释放它们。

您可以记住以下几点作为内存管理 list :

  • 任何具有强/保留类型的属性/变量都应由用户释放。 ARC 会自动执行,但有时无法正确释放(不要问为什么)。
  • 实例变量默认是“强”引用类型,这意味着你必须手动释放它们
  • 保留在 View 中且您没有 removeFromSuperview 的 IBOutlets 可以是弱类型,因为 View 持有对它的强引用。
  • (如果您没有启用 ARC)确保您有一个 NSAutoReleasePool block ,以便它释放所有局部变量,从而防止内存泄漏。

  • 您的问题虽然目前并不严重,但可能很快就会变得严重。平均 iPad/iPhone 开始发出大约 300 MB 的内存警告,因此如果您开始向游戏添加更多功能,这可能会成为一个大问题。

    希望这个答案有帮助。

    关于ios - 内存使用量增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25228697/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com