强制关闭应用程序在iOS设备上有什么好处吗?


8

我已经从各个网站和人们那里得到了关于这个问题的混合答案,我想将其发布给大家,让他们一劳永逸地回答。

问题是,强制关闭应用程序(即双击主屏幕按钮,然后在其上滑动)是否会对iPhone或任何其他iOS设备的电池或整体性能有所帮助?


1
@Tetsujin如果您有答案,请在下面发布,谢谢。注释不具有将“答案”编辑为正确(或不正确)的功能。
罗伯特·卡塔诺

Answers:


6

关于这个话题有很多辩论和讨论。我相信在v3和v4时代对iOS来说是有益的,但现在不是。

克雷格·费德雷吉(Craig Federighi)甚至最近才表示没有必要,并且不会延长电池寿命。Apple内置了内存管理功能,可以在需要时适当地挂起和/或终止应用程序。唯一应强制关闭应用程序的时间是该应用程序无响应时。


4

在一种情况下,强制退出可以为iOS带来好处,其收益超过清理进程,重新启动进程以及清除所有缓存/打开的文件所需的更多处理成本。

不利的是,应用程序不会在后台运行-因此,一旦您切换到新应用程序或跳板/图标列表/锁定屏幕-iOS已经停止/暂停/刷新了该应用程序的所有文件系统活动。

它向冻结的应用程序发出信号,表明它需要从头开始完全重新初始化自身-忽略任何保存的状态或缓存的结果。它以崩溃报告的形式向Apple发出信号(并有选择地向开发人员发出信号),从而在用户“杀死”应用程序时准确地将其记录在代码中的某些痕迹。

  • 在性能方面- 强制退出应用程序会使iOS和该应用程序的性能变差 -在许多情况下会明显变差。
  • 就电池寿命而言- 强制退出应用程序会使iOS和电池寿命的性能明显下降

可以将其视为手术-短期内您正在遭受明显的伤害-除非您确定需要进行手术,否则不要承受性能下降并强行放弃。


别这么简单。如果应用程序在后台(例如Facebook)时使用了大量资源,而您又不想长时间切换回该应用程序,那么重启工作将比保持运行状态要少。
nohillside

@patrix我不能具体说说Facebook,但是如果注册了一个应用程序来运行后台服务,则在您强制退出后iOS会立即备份它们-因此,除非该应用程序被编码为在自动启动时不运行,否则强制退出实际上并不能阻止后台线程/任务的重生-它只是中断它们,清理并重新运行它们。
bmike

3

最近,这个主题再次成为热门话题。我坚信强制在iOS设备上退出应用程序是没有用的。仅当应用崩溃时重新启动它们才有用。这里更多信息。

9to5Mac:

在某些圈子里,人们长期以来一直认为,使用iOS的多任务处理功能强制退出应用程序可以帮助节省iPhone的电池寿命,或在智能手机变慢时提高软件的速度。

在本周早些时候,一位iPhone用户决定将电子邮件发送给苹果首席执行官蒂姆·库克(Tim Cook),以一劳永逸地解决,而得到了苹果软件工程高级副总裁Craig Federighi的答复(通过9to5Mac)。

电子邮件对话

 

以下是苹果公司自己有关何时使用此功能的建议,摘自关于强制关闭应用程序的官方支持文档:

双击“主页”按钮时,将显示您最近使用的应用程序。这些应用程序尚未打开,但处于待机模式,可帮助您导航和执行多任务。您应强制应用仅在无响应时关闭。

 

MacDailyNews引用了史蒂夫·乔布斯(Steve Jobs)的2010年电子邮件:

只需按照设计使用[iOS multitasking],您会很高兴的。无需退出应用程序。

 

万一您不相信苹果公司的软件高级副总裁,苹果公司自己的官方支持文档或史蒂夫·乔布斯,以下是一些其他文章,指出这种习惯实际上对iPhone的电池寿命有害:


0

从理论上讲,是的。在后台运行的应用程序确实会消耗内存(它们的线程仍然存在,这就是为什么当您双击“主页”按钮时可以看到它们的列表),因此它们确实消耗了电池。

但实际上,并非如此。iOS在内存管理方面做得相当不错,并且在后台运行的应用仅消耗少量内存。并且,如果其他在前台运行的应用程序(正在运行且用户正在与之交互)需要更多内存,则iOS系统可能会终止后台应用程序并清除内存。有时强制关闭某个应用程序似乎可以节省内存/电池寿命的原因是,某些应用程序可能要求运行长时间运行的任务,甚至在后台运行,例如出于后台获取,定期同步数据,等等(请注意,并非每个应用程序都这样做)。但是您可以通过在“设置”->“常规”中配置“后台应用刷新”来禁用这些功能。

因此,总而言之,对于在后台运行不多的应用程序,强制关闭它不会产生明显的收益。


3
“在后台运行的应用程序确实会消耗内存(它们的线程仍然存在,这就是为什么当您双击“主页”按钮时可以看到它们被列出的原因),因此它们确实会消耗电池。” 这在技术上是不正确的。双击“主页”按钮时看到的是关闭时该应用程序的快照(在内存中)。仅仅因为您看到它并不意味着线程仍然存在。iOS会停止运行该应用程序,并将其从内存中删除,除非允许该应用程序在后台运行并且正在积极地进行处理。
fsb

@fbara我不同意。根据苹果公司的开发人员文档,应用程序将在进入Suspended后台后立即进入调用状态,并且“在挂起时,应用程序保留在内存中,但不执行任何代码”。除非被iOS终止,否则应用程序的过程仍然存在。如果您具有XCode(适用于iOS应用的开发人员工具),则实际上可以使用Debug-> Attach to Process并查看电话上的进程列表,即使前台没有任何运行
Stephenye '16

该文档还指出:“应用程序委托的applicationDidEnterBackground:方法返回后不久,系统会为应用程序的窗口拍摄快照。类似地,当唤醒应用程序以执行后台任务时,系统可能会拍摄新的快照以反映任何相关更改例如,当唤醒应用程序以处理下载的项目时,系统会拍摄一个新的快照,以便可以反映由于合并项目而引起的任何更改。系统在多任务UI中使用这些快照图像来显示您的状态应用”。这就是我所指的。
fsb

@fbara是的:多任务UI使用快照,尤其是为了在进入后台时显示敏感数据(例如,某些银行应用程序使用过)。但是我认为这个过程仍然存在。但是,我们不要在这里过多关注技术细节,无论如何,它仍然会占用一些内存(快照仍然会占用内存)。
斯蒂芬耶

-1

我发现特别终止Facebook应用程序可以节省电池寿命。在“电池”部分(“设置”>“电池”>“时间”)中检查了其用法后,我不禁确信它的运行状况不佳。


这是因为它将自己注册为VoIP客户端,并且关闭该应用程序不会改变该状态。
安德鲁·拉尔森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.