【问题标题】:My iphone app gets memory warning and killed at 6.8MB我的 iphone 应用程序收到内存警告并在 6.8MB 时被杀死
【发布时间】:2023-03-27 22:27:01
【问题描述】:

我的应用程序有一个线程执行了超过一分钟的耗时工作,并且该应用程序消耗了大约 6.8MB 的内存。一段时间后我收到一个内存警告,然后它被杀死。没有什么可以释放的,我什至没有使用 7MB 的内存...快把我逼疯了...请给点建议?

【问题讨论】:

  • 使用调试器或内存泄漏工具。 stackoverflow.com/questions/172125/…
  • 另外,请确保您在设备上进行测试,而不仅仅是在模拟器上。
  • 我在设备上运行它;在模拟器上,除非我模拟它,否则我不会收到内存警告。当应用程序死机时,gdb 会这样说......程序以信号 0 信号 0 终止。所以,是操作系统杀死了我的应用程序。它只占用 7MB 内存,但操作系统仍在杀死它!!!重新启动设备也无济于事,可能是我遗漏了什么吗? “泄漏”显示没有泄漏并且持续使用 6.8MB 内存。

标签: iphone memory warnings didreceivememorywarning


【解决方案1】:

也许你的记忆是超级碎片化的?即使是 7mb 的泄露数据也不应该杀死你的应用程序。你应该至少有 20mb 的空间可以玩。尝试重新启动手机,看看是否有帮助。

【讨论】:

    【解决方案2】:

    我仍然不知道为什么会这样,但现在我找到了解决方法。如果我在主线程上运行它,而不是在线程中运行此作业,我既不会收到内存警告,也不会被杀死。但是我无法在 UI 中显示进度。我打算用 NSTimer 来做。

    【讨论】:

      猜你喜欢
      • 2013-08-05
      • 2021-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多