我有一个在后台运行的应用程序。调用此应用程序以便能够更新,然后进入休眠状态。
由于某种原因,它在几个小时后停止工作。
我有一些理论,但我找不到关于它们的文档。
- 当内存不足时,iOS 会关闭应用程序。
- 有人知道这个过程中使用的顺序吗?
- 它是选择运行时间更长、占用内存更多的应用程序,还是只是随机关闭应用程序以获得所需的内存?
- 应用程序在后台运行是否有最大时间限制?
NSTimer 是否有最大重复次数?
- 如果电池电量降低以节省电量,iOS 是否会在后台关闭应用程序?
如果有人能回答这些问题,或提供一些有关这些问题的信息,那就太好了。
理论建立在客户报告的基础上。
Best Answer-推荐答案 strong>
逐点回答(以简单的方式):
- 在后台运行的应用程序进入内存不足状态应该被操作系统杀死,但它的应用程序委托(delegate)应该收到
applicationWillTerminate 消息。
- 官方没有规定后台运行应用的时间限制。
NSTimer 只能是两种中的一种:重复或不重复。您可以引用NSTimer class reference documentation为这方面的证据。
- 如果我没记错的话,根据 Apple 的政策,该应用无法做到这一点。如果设备电池电量不足,则不得干预打开的应用程序以延长电池使用时间。
有关应用程序后台运行模式的完整说明,请参阅 Apple 开发者文档 at this link .
如果您的应用必须负责任地在后台运行,这是了解多任务处理和正确策略的良好起点。
关于ios - iOS 7 何时关闭我的应用程序?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/24534758/
|