欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

苹果说杀后台更耗电:这些真相是否颠覆你三观

程序员文章站 2022-07-07 07:58:46
手动关闭手机app的后台,一直是很多朋友的习惯,大家似乎普遍认为这可以节省电量。然而,最近人们却发现苹果官方对此持有截然不同的观点——苹果官方明...

手动关闭手机app的后台,一直是很多朋友的习惯,大家似乎普遍认为这可以节省电量。然而,最近人们却发现苹果官方对此持有截然不同的观点——苹果官方明确指出,强制关闭后台app,也就是“杀后台”的举动,只推荐在app卡死的情况下进行,频繁杀后台只会让手机耗费额外的电量,减少续航。


苹果软件工程负责人 craig federighi在邮件中表示ios不需要杀后台

这个观点颠覆了很多人的认知——杀后台不仅不能省电,而且还会更耗电。而除了“杀后台省电”外,人们很多习以为常的手机使用习惯,也并不会有预期效果。关闭wifi、蓝牙能更省电?关闭gps定位可以延长续航?这些操作真的有效吗?真相可能会颠覆你三观!

杀后台真的会更省电?

先从最近掀起轩然大波的“杀后台”说起。人们之所以有杀后台的习惯,是因为大家认为app在后台没有关闭,会持续消耗资源,从而造成卡顿、耗电。强制杀后台可以帮系统减负,这种观点有没有道理?要分情况来看。

ios杀后台没有必要?

在ios系统中,app在后台能做的事情很有限。在早期的ios系统中,app一旦进入后台,意味着它是无法运行的。尽管它仍会存储在内存当中,然而它无法调用任何其他的硬件资源(某些特殊app,例如需要继续放歌的音乐app除外,但也是通过非常严格的系统接口实现的)。

当app再次被切换到前台时,才会被重新唤醒,恢复运行,这一机制被称之为“墓碑”。


苹果在官网也明确表示,仅当app卡死的时候,才需要强制杀后台

在此种情况下,进入后台的app是不会耗费额外的电量的。尽管app存在内存中,但内存通电后,仅保存数据并不会额外耗电。而如果将app清理出后台,开启app时需要重新加载,由于产生了数据交换,cpu、内存、闪存都被调动起来,反而会更加耗电。

在默认情况下,内存占用紧张时app才会被清理出后台,而手动杀后台则会大大增加app重新读取的频率,这对续航无疑是不利的。

从ios7开始,系统允许部分app在后台进行有限的活动(后台应用刷新),但app能做的事情也非常有限,例如微博在后台可以偶尔刷新一下页面等。

这个机制的确会更耗电,但影响不大。如果你想要极致省电,可以在设置中关闭后台应用刷新,没有必要手动杀后台。


ios7开始,app可以在后台进行有限的活动,如果你想要极致省电,可以关闭后台应用刷新

安卓需要杀后台吗?

安卓的后台机制和ios有所不同。传统意义上,安卓系统会为app的进程分配不同的状态,例如foreground_app(前台应用)、visiable_app(可见应用)、secondary_app(二级应用)、hidden_app(隐藏应用)、content_provider(内容提供器)、empty_app(空应用)等状态。

当内存不足的时候,系统会优先终止empty_app进程和服务,将内存释放出去;内存再次吃紧,就开始对content_provider动手脚了,以此类推。

苹果说杀后台更耗电:这些真相是否颠覆你三观
安卓的后台调度机制

因此,安卓app在后台能做的事情还是比ios多很多的,更何况安卓app可能会通过一些手段,来改变自己进程的状态,以长期驻留后台。这种情况下,安卓app会在后台消耗额外的资源,对续航和流畅的负面影响肉眼可见。

但是,针对这些情况,无论是google的官方版还是第三方厂商的rom,安卓系统本身也有所调整。

·google官方安卓系统。

google意识到了安卓app后台滥用资源的问题,目前的安卓系统会对后台进程的资源调用有限制,后台进程只能调用一小部分的硬件资源(例如压缩app在后台运作只能占一小部分cpu);又例如安卓7引入了doze休眠机制,安卓8、9进一步限制后台(如禁用第三方api等),到了安卓10中,符合较新api规范的app已经基本不会在后台顽强驻留。

·第三方安卓rom。

很多国内的第三方安卓rom对app后台的限制,要比google官方更加严格,例如能够切断app间相互唤醒、能够让app更彻底更快地进入冻结状态等。不过这也带来了app经常需要重新加载等问题,但不可否认的是这的确可以更省电。

苹果说杀后台更耗电:这些真相是否颠覆你三观
国内不少rom都对app有更严格的后台限制

那么安卓到底要不要手动杀后台?这需要分情况。

·如果使用的是官方最新版安卓,而且安装的app使用规范的api,那么app在后台消耗的资源少之又少,可以不杀后台;

·如果使用的是对后台限制严格的安卓rom,而且开启了诸如“智能后台”之类的模式,app后台会被严格限制,也可以不杀后台;

·如果rom较为老旧并对app后台限制不严格,而且app编写不规范(例如某些国产大厂app),则需要手动杀后台。

注意,安卓杀后台不仅仅需要在多任务界面关闭app,还需要进入到应用详情页强制停止app,app可能才会完全停止运行。

简而言之,ios手动杀app后台的确不能更省电,甚至可能更耗电;而安卓则和系统版本、具体app有着很大关联,是否需要手动杀后台不能一概而论。

关闭wifi能省电吗?

关闭wifi也是很多人常用的省电操作。一旦没有使用wifi的需求,大家纷纷关掉手机中的wifi开关,似乎这就能节省电量。

然而,真相真的如此吗?

首先,wifi开关无论开启与否,wifi模块在不工作的时候,基本是不会耗电的。wifi最耗电的时候,是传输数据时。也就是说,就算开启了wifi开关,但没有连接到wifi网络,wifi也没有传输数据,wifi模块的耗电量可以忽略不计。

你是否开启wifi开关,手机的续航不会有明显变化。

但是,也有例外的情况。目前ios和安卓都加入了网络扫描一类的功能,无论开启wifi开关与否,手机都会自动搜寻周围的wifi网络。这样的功能,的确会增加耗电量。

苹果说杀后台更耗电:这些真相是否颠覆你三观
这才是wifi耗电的元凶

简单来说,如果想要从wifi这一块省电,要做的应该是关闭wifi网络扫描一类的功能,而不是关闭wifi开关。

关闭蓝牙能省电吗?

很多朋友也有关闭蓝牙省电的习惯,然而这是否真的有用?这需要分情况讨论。

首先,开启蓝牙后,如果蓝牙没有在工作,那么耗电量也是可以忽略不计的,这和wifi的情况类似。

其次,就算开启蓝牙、蓝牙处于工作状态,但是蓝牙连接的是ble低功耗蓝牙设备,耗电量也基本可以忽略。蓝牙从4.0版本开始,增加了低功耗蓝牙ble的分支,ble的耗电量极小,很多智能穿戴设备例如智能手环、智能手表使用的就是ble来连接手机,对待机时间几乎没有影响。

蓝牙ble可以视作不对续航有影响,耗电的是蓝牙br/edr,手机使用的是双模蓝牙

但是,如果使用的是传统蓝牙的话,那么蓝牙的耗电量还是不容忽视的。例如音频传输,目前手机蓝牙音频仍使用传统蓝牙的a2dp协议,并不省电。

因此,开启蓝牙、连接ble设备的情况下,并不会影响待机;但如果连接的是无线耳机这样的传统蓝牙设备,就会有额外耗电了。

日常使用手机,通常都不会一直连接传统蓝牙,开启蓝牙开关并不需要担心耗电问题。

关闭gps能省电吗?

gps模块是手机传统的耗电大户,很多朋友习惯关闭gps省电,需要用到地图之类的app时,才开启。这操作真的可以省电吗?这需要分情况来讨论。

首先需要明确的是,gps模块在被调用的时候,才会产生额外耗电。当前手机定位需要使用蜂窝网络和卫星定位,消耗的电量还是显而易见的。

然而,尽管开启了gps的开关,但手机系统并不会随时随刻调用gps,这在ios和安卓中,情况又有所不同。

在ios 11之后的版本中,app会被严格限制调用gps的权限,用户可以选择仅允许app在前台时才能调用gps,因此ios中app并不会在后台偷偷调用gps(除非用户手动允许),开启gps开关不会有额外耗电。


从ios 11开始,app在后台无法调用gps

绝大多数的安卓设备,都允许app在后台继续使用gps,因此在安卓中关闭gps节电还是有效果的。而安卓10的机制则和ios类似,app可以被限制无法在后台调用gps,因此也可以放心开启gps。

苹果说杀后台更耗电:这些真相是否颠覆你三观
安卓10的也可以限制app后台调用gps

不过还需要考虑一种情况,那就是手机系统本身对gps的调用,例如查找手机功能、根据地理定位推送信息(google now等智能助手等)。这类功能可以在后台频繁调动gps,消耗的电量还是显而易见的。


google now这样的系统级别的功能,会后台调用gps产生额外耗电

简单来说,如果你用的是io11、安卓10以上的新版系统,那么就不需要担心后台app调用gps造成额外耗电;而如果用的是旧版系统,那么关闭gps对节电还是有一定意义的。而如果想要更彻底地省电,还得关闭系统的一些服务,但这就有点得不偿失了。

关闭nfc能省电吗?

需要明确的是,nfc在不工作的时候并不会额外耗电,平时开启nfc与否并不会影响手机续航。但是,nfc在某些很容易被激发,如果将手机和门禁卡、公交卡等放在一起,nfc会耗费额外的电量,而且可能频频调动与之相关的app(例如nfc接触到公交卡后会调出微信、支付宝充值等),这会对续航造成影响。

苹果说杀后台更耗电:这些真相是否颠覆你三观

nfc会自动感应卡片,调用微信等工具进行充值等互动

简而言之,一般情况下,只需要注意不要让手机贴近公交卡等卡片即可,不需要专门关闭nfc来节省电量。

总结

总的来说,很多人们习以为常的省电操作,其实并不一定见得有用。消费电子的发展,离不开以人为本的基调,现在各类产品在大多数情况下,已经能够很好地能耗和功能,并不需要人们手动去操作调整。随着系统变得越来越智能,或许杀后台之类的操作,会渐渐被人淡忘吧。