专栏名称: SegmentFault思否
SegmentFault (www.sf.gg)开发者社区,是中国年轻开发者喜爱的极客社区,我们为开发者提供最纯粹的技术交流和分享平台。
目录
相关文章推荐
程序员小灰  ·  清华大学《DeepSeek学习手册》(全5册) ·  20 小时前  
OSC开源社区  ·  升级到Svelte ... ·  3 天前  
程序员的那些事  ·  惊!小偷“零元购”后竟向 DeepSeek ... ·  2 天前  
程序员的那些事  ·  成人玩偶 + ... ·  3 天前  
51好读  ›  专栏  ›  SegmentFault思否

iOS 滑动关后台会影响续航是真的,但并不会损伤你的电池

SegmentFault思否  · 公众号  · 程序员  · 2020-03-10 11:45

正文


前不久, #苹果建议不要滑动关闭后台程序# 这个话题上了微博的热搜。


这个话题的源头,是因为英国的《太阳报》的一篇报道中写道 “如果您经常关闭应用程序,则 iPhone 会变慢并损耗电池。”


对此事,苹果也在官方渠道发布声明表示“确实如此”。并表示 iPhone 电池寿命普遍偏短的原因,就是用户习惯性的手动关闭应用程序,这不仅会缩短电池的使用寿命,也会导致设备的速度变慢。


在此之前,我相信大部分人都和我一样,认为后台的应用程序会占用 CPU、消耗电量,因此会经常性的手动关闭很多应用程序。


但苹果为什么这么说呢?原理是啥?电池寿命真的是被我们一下一下划没的么?





后台的应用程序其实已经被“冻结”



这个观念差异的背后,其实是来源于用户和官方的认知差异。


事实上早在 2016 年, 时任苹果软件高级副总裁的 Craig Federighi 就针对用户的邮件进行了回复。



但这个回复在当时并未被大部分人所了解。


而事实上, iOS 为了让 设备减少 不必要的系统资源开销 ,并保持系 统的流畅,它的后台更应该叫做「多任务切换界面」。而这得益于 iOS 特殊的「墓碑机制」。


名词解析:墓碑机制


简单来说,墓碑机制就是当 App 进入后台前将以某种形式持久化,然后释放其正在使用的资源(包括内存、CPU等),等待 App 再次被唤醒时,将再将这个保存的状态恢复出来,此时应用跟没有被杀死继续运行了一样。


实际上 iOS 并不是严格意义上的墓碑机制,其在应用进入后台时可以向系统申请一定时间的后台运行时间(一般不超过10分钟),之后才会被完全挂起。


根据这个机制我们可以知道,我们之前滑动关闭的并非是应用程序,而是类似于应用程序的快捷打开方式。


而如果想真正的关闭一个应用程序,需要将这个应用从 RAM 中移除(比如重启手机),这时再次启动程序时系统需要重新调动资源, 与冻结状态相比,所占用的 CPU 和消耗的电量更高, 因此苹果方面建议除非应用程序无响应,否则不要滑动强制退出。


当然, 不排除一些应用程序会有更高的“权限”,在后台时也会占用系统资源 ,我们可以在「设置」中查看是否有哪些应用在滥用权限。





滑动关闭后台应用影响电池寿命?



先放结论:并不会。这是以讹传讹。


我们能在很多媒体报道中看到“滑动关闭后台应用不仅没用,还会影响电池寿命”,这其实是因为翻译不精准导致的错误传言。


《太阳报》的原文标题是 《QUIT IT! Your iPhone gets SLOWER and loses battery life if you always swipe apps closed》 ,这里面提到的「battery life」被很多人翻译成了「电池寿命」,但实际上这个词一般表示电池的续航时间,英文语境中电池寿命一般会用「battery health」来表示。


正如我们上文所示,滑动关闭后台应用后,重新启动将会消耗更多的 CPU 和电池电量,因此也会相应的降低电池的续航,和电池的使用寿命并没有关系。


理论上影响电池寿命的因素目前有四个:


- 充/放电速度

- 电池温度

- 放电深度(DOD)

- 电池循环次数


很多人在买卖二手笔记本的时候都会关注的参数就是「电池循环次数」,因为这个是影响电池寿命和健康程度的关键因素之一。


如果想要通过健康的手机使用习惯来延长手机的电池寿命,这里有一个建议就是关闭某些应用程序的系统通知 (也就是常说的弹窗广告)




安卓手机可以杀后台么?


iOS 系统不建议频繁滑动关闭后台的应用程序,那么 Android 系统可以么?


答案是:可以。


背后的原因是 iOS 与 Android 的 后台机制并不相同。文章开头我们介绍了 iOS 系统的「墓碑机制」,而 Andriod 系统并没有采用这一机制,所以大部分 Android 系统的应用程序切换到后台后,仍然在占用着 CPU。 滑动关闭







请到「今天看啥」查看全文