我不完全了解 Apple 的 iOS 4 模型,我已经研究了好几个小时的文档,但我仍然感谢一些帮助。
后台 iPhone 应用程序会退出吗?例如,当我关闭诸如 Loopt 之类的位置跟踪应用程序时,它会在后台运行,但它会订阅操作系统的重要位置服务吗?根据苹果(如果我理解正确的话),即使它被暂停或关闭,它也会被通知我当前的位置。这是否意味着,实际上,只要它在我的手机上,它就会始终知道我的位置?或者直到我重新启动手机?
谢谢,
- 抢
必须专门编写应用程序才能利用多任务功能。他们不只是免费获得它。
当用户通过按下主屏幕“退出”应用程序时,如果它具有快速切换意识,它将被暂停。它的状态被保存并被发送到后台但它不运行。
如果一个应用程序被编写为利用位置、网络电话或音频的后台处理,那么只有某些方面会继续在后台运行。例如。如果 voip 应用程序被挂起,它将告诉操作系统它希望保持其网络套接字处于活动状态,并在传入呼叫到达这些套接字时得到通知。发生这种情况时,应用程序会“唤醒”并从操作系统收回对套接字的控制权并恢复正常播放。
如果呼叫已经在进行中,并且用户关闭应用程序,应用程序会再次告诉操作系统保持套接字处于活动状态并继续处理音频,但应用程序的其余部分(UI、任何其他功能)被暂停不要跑。
如果 iOS4 上的应用程序没有针对 4.0 SDK 进行编译(因此不支持多任务处理),或者如果UIApplicationExitsOnSuspend
在应用程序的 info.plist 文件中指定了密钥并将其设置为 true,则它们将退出。
如果系统开始资源不足,应用程序会被操作系统按需终止。
最后,用户可以通过双击主页按钮、按住暂停的应用程序图标之一,然后按下出现在他们角落上的“关闭”按钮来终止应用程序。