手动关闭后台究竟是省电还是耗电

2020-05-15 11:48孙友添
计算机与网络 2020年7期
关键词:调用手动后台

孙友添

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

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

杀后台是否真的会更省电

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

iOS杀后台没有必要?

在iOS系统中,APP在后台能做的事情很有限。在早期的iOS系统中,APP一旦进入后台,意味着它是无法运行的。尽管它仍会存储在内存当中,然而它无法调用任何其他的硬件资源(某些特殊APP,例如需要继续放歌的音乐APP除外,但也是通过非常严格的系统接口实现的)。当APP再次被切换到前台时,才会被重新唤醒、恢复运行,这一机制被称之为“墓碑”。

在此种情况下,进入后台的APP是不会耗费额外电量的,尽管APP存在内存中,但内存通电后,仅保存数据并不会额外耗电。而如果将APP清理出后台,开启APP时需要重新加载,由于产生了数据交换,CPU、内存、闪存都被调动起来,反而会更加耗电。在默认情况下,内存占用紧张时APP才会被清理出后台,而手动杀后台则会大大增加APP重新读取的频率,这对续航无疑是不利的。

从iOS7开始,系统允许部分APP在后台进行有限的活动(后台应用刷新),但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经常需要重新加载等問题,但不可否认这的确可以更省电。

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

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

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

如果ROM较为老旧并对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的情况类似。

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

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

因此,开启蓝牙、连接BLE设备的情况下,并不会影响待机;但如果连接的是无线耳机这样的传统蓝牙设备,就会有额外耗电了。日常使用手机,通常都不会一直连接传统蓝牙,开启蓝牙开关并不需要担心耗电问题。

关闭GPS是否能省电吗

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

首先需要明确的是,GPS模块在被调用的时候,才会产生额外耗电。当前手机定位需要使用蜂窝网络和卫星定位,消耗的电量是显而易见的。然而,尽管开启了GPS的开关,但手机系统并不会随时随刻调用GPS,这在iOS和安卓中,情况又有所不同。

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

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

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

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

关闭NFC是否能省电

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

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

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

猜你喜欢
调用手动后台
搞笑段子
Wu Fenghua:Yueju Opera Artist
后台暗恋
基于Android Broadcast的短信安全监听系统的设计和实现
风行S5001.6L手动尊享型
宝骏5601.8L手动豪华型
C4世嘉 1.6L手动豪华型
后台的风景
利用RFC技术实现SAP系统接口通信
C++语言中函数参数传递方式剖析