是否可以在iOS上强制终止后台应用程序?

时间:2011-10-25 14:24:17

标签: memory-leaks ios4 ios5 didreceivememorywarning memory-warning

我写了一个处理视频的应用程序。众所周知,视频处理在处理高清分辨率时会占用大量内存。我的应用程序似乎总是崩溃。但实际上我100%肯定,我的代码中没有内存泄漏。仪器没有泄漏。

一开始我正在启动一个OpenGLES视图和视频引擎。在很短的时间内,内存消耗很高,但在初始化完成后降至正常水平。在此期间我总是得到记忆警告。通常这没问题。但如果我有很多应用程序处于挂起模式运行,那么应用程序似乎崩溃了。观察崩溃日志并使用调试器显示,我只是内存不足。

我的客户正在使用“app is crashing”邮件充斥我的支持邮件。但我知道,他们有太多的应用程序在后台运行,所以没有剩余的内存可用。我认为不好的风格编程说客户在运行应用程序之前必须关闭后台任务。

根据this post,这是一个常见问题。

我的问题是:是否有可能告诉操作系统需要大量内存,以便操作系统终止一些暂停的应用程序?这段记忆让我发疯,因为这不是我能解决的错误。

1 个答案:

答案 0 :(得分:1)

没有。如果没有API调用,则无法影响沙箱外的任何内容。不存在影响公共API中的其他进程的情况。

您是否尝试过最小化内存使用量?根据我的经验,一旦内存发出警告,即使内存使用量下降,应用程序在后台运行时也更容易出现问题。

如果您使用的是OpenGLES和纹理,如果您还没有compress纹理。你的内存分配高峰的具体原因是什么?