我在没有同时运行太多应用的开发设备上构建我的应用。我希望我的客户能够在打开任意数量的其他应用程序的情况下运行应用程序。为了确保我的应用程序不会因内存问题而崩溃,我想在预期的操作条件下测试我的应用程序。
这提出了一个问题 - 双击主页按钮栏中显示的其他应用数量会影响设备的内存使用量吗?换句话说,如果我打开设备上的每个应用,然后启动我的应用程序,我是否更有可能收到内存警告,而不是关闭所有其他应用程序?
我记得听过一个WWDC演示文稿,提到对于一些使用< 8mb内存的应用程序,他们的内存会在应用程序最小化时写入磁盘,不确定这会发生什么变化。
感谢您的澄清。
答案 0 :(得分:4)
在双击主页按钮中可以看到其他应用的数量 bar会影响设备的内存使用情况吗?
没有。多任务栏只是近期应用程序的历史。其中一些可能仍然在记忆中,而另一些则不在。只有通过观察它才能让你知道。
当内存不足时,iOS将首先终止最需要内存的后台应用程序。如果您的应用在短时间内分配了大量内存,则可能会发生iOS无法足够快地回收内存并立即终止您的应用。
您所能做的就是尽可能减少占用空间,并尽量不要一次性分配大量缓冲区。
答案 1 :(得分:0)
是的我认为打开的应用数量会影响您的应用 接收内存警告。关闭在中运行的所有应用程序 后台或重新启动设备可以减少内存警告 发送到您应用的消息(您可以使用工具查看此效果)。
提醒:
当您收到内存警告时,请尝试执行以下操作:
- 停止计时器和其他周期性任务 - 停止任何正在运行的元数据查询 - 不要发起任何新任务 - 暂停播放动画(通过AirPlay播放时除外) - 如果您的应用是游戏,请进入暂停状态 - 节省OpenGL ES帧速率 - 挂起执行非关键代码的任何调度队列或操作队列。 (您可以在非活动状态下继续处理网络请求和其他时间敏感的后台任务。)
答案 2 :(得分:0)
快速说明一下。我发现打开其他应用确实会影响真正的内存分配。 通过“活动监视器”分析应用程序,可以查看当前在内存中加载的应用程序及其使用量。假设设备有512mb,你可以使用512 - (什么是打开的),iOS可能会杀死一些应用程序以释放你的应用程序的内存。