对于在后台如何以及何时运行应用程序,Apple有非常严格的指导原则。
以下是第三方iOS应用程序可以在后台使用CPU 的唯一方案。
后台抓取
任何应用程序都可以使用“背景获取”(又称为后台应用刷新)在后台获取内容几秒钟,大约一天一次(在iOS规定的时间范围内,不受开发人员控制)。Background Fetch占用的电池和CPU很少,并且主要由新闻/天气/社交媒体/邮件应用程序用来更新Feed,因此当您打开该应用程序时,它不会完全过期。
音频,IP语音,蓝牙通信
如果某个应用程序在后台播放音频(通过AirPlay或通过手机的扬声器),则iOS允许它在后台运行,直到停止播放音乐为止;如果某个应用允许您在后台拨打基于数据的电话(如Whatsapp或Skype通话),则在通话过程中可以使用CPU保持活动状态;而且,如果某个应用程序与蓝牙配件通讯(例如与Pebble应用程序与Pebble Smartwatch通讯的通讯),它可能会在后台永久保持唤醒状态。
报亭下载,远程通知
报亭应用程序(只要它们被Apple批准为主要新闻机构,并显示在App Store的报亭中),就可以在后台下载新内容;需要显示应用程序外部生成的通知(例如,突发新闻通知)的任何应用程序(例如《纽约时报》应用程序)都可以在后台保持清醒状态,以接收此类“远程”通知。
位置更新
如果您允许某个应用“始终”使用您的位置(即在后台),那么它可以在后台的任何时间处于活动状态。Facebook,Find Friends等应用程序使用此功能来更新与位置相关的信息,尽管其他应用程序可以使用它秘密地使用它来在后台执行任务(但前提是您明确允许它们访问您的位置)。
一个非常普遍的误解是在应用程序上“刷掉”以杀死它会阻止它在后台运行:这完全是不正确的。具有上述七个原因之一的应用程序可以在后台运行,而无论您是“掠过”这些应用程序,还是没有这七个原因之一的应用程序都无法在后台运行即使您不杀死它们,也可以在屏幕上看到它们。
另一个误解(您似乎已经意识到了!)是,关闭“ Background App Refresh”(后台应用程序刷新)将阻止应用程序在后台运行。实际上,这只会使应用程序无法使用后台提取,但如果它也具有其他六个原因之一,则无论后台应用程序刷新开关如何,它都可以在后台运行。
那么,您安装的应用是否在后台使用CPU,内存,电池或数据?您可以轻松找出!去Settings
你的iPhone,找到Battery
部分,并采取偷看。如果某个应用在其名称下显示“ Background Activity”,则表明该应用在后台使用CPU;否则,它不会在后台执行任何操作。
这是一个示例屏幕截图:
在此iPhone上,播客已在后台运行,但其他任何应用程序都没有。进入“电池设置”是一种判断“愤怒的小鸟”是否已在后台运行的简单方法。
因此,直接回答您的问题:
当iPhone重新启动时,所有这些应用程序是否也可以启动并占用宝贵的处理器时间和系统资源?
仅当将它们专门配置为在后台运行时,您才能在iPhone的“电池”设置中检查它们是否一直在执行此操作。
如果我启动一个应用程序,然后显式双击“主页”按钮,然后将其滑出(退出),该怎么办。它或它的一部分现在还是以后仍可以在后台运行?
是。例如,如果Facebook使用位置服务(确实如此),则向上滑动以杀死Facebook应用程序并不会阻止它在后台使用您的位置,并且在使用您的位置时,它可以执行以下任何其他任务:背景也一样。
由于WhatsApp,WeChat,Line和Facebook消息都会通知我新消息,因此,当我重新启动iPhone时,它们似乎将立即运行。是否在后台使用我的CPU?另外,即使我在“设置”中关闭了“应用刷新”,似乎这些应用仍可能在后台运行。真的吗?
Whatsapp,WeChat,Line,Hangouts,FB Messenger和其他聊天应用程序使用此remote notifications
功能可不时在后台检查新消息。这是预期的行为(您可以通过在“电池设置”中再次检查其应用程序的电池使用情况来检查他们的工作量),并且不应消耗过多的电池。确实,为这些应用程序关闭“应用刷新”不会有任何效果,因为这些应用程序使用远程通知,而不是后台提取来在后台运行。
TL; DR:应用程序可以在后台使用手机的资源,您可以在Settings
->中查看它们的工作量Battery
。
信息来源: