安卓卡顿根源!细数流氓APP扰乱后台的4大恶行

华为花粉俱乐部 / 2018年08月25日 19:33

手机

上周花部长介绍了安卓8.0的新功能(可点击“安卓8.0最新13大功能,你想要的双倍速度终于来了!”进行回顾),其中有提到新版本一个很重要的点就是对后台的严格管控,由此可见安卓系统中后台与流氓软件的斗争结怨已久且从未停止。那么,今天花部长就来跟大家聊聊为什么会有这种现象的发生~

一、安卓系统的生态环境

首先安卓是基于Linux开发出来的,而Linux正是一个开放系统,因此安卓一直以来都有着较高的自主权限和可玩性,比如搞机人士可自己动手制作主题、更改系统设置、甚至刷机,但与此同时也给了不良APP可趁之机。

此外,在安卓系统中,应用程序的生命周期不是由应用本身直接控制的,而是由系统。当系统需要释放内存来运行新进程,或者保证某些后台进程和前端进程执行时,才会释放某些应用程序的资源,而这个释放过程也是按重要程序排序的——前端进程、可见进程、二级进程、隐藏进程、内容提供器和空应用进程。所以当手机运行内存紧张的时候,会按次要到重要的顺序逐步终止,以保证最重要的优先运行。这一套方案看似很科学合理,然而却成为了流氓APP为所欲为的地方。

不守规则的APP一旦被启动,它就会把自己注册成最重要的状态类型,因此就算系统再怎么控制也不会将它们从后台终止。如此一来,如果众流氓APP都这么干,那么你的手机很快就会爆满,运行内存和电量极速陷入危机。于是杀后台工具就应运而生了,当时的流氓APP还比较简单粗暴,只是通过注册最高优先度的操作,所以很容易被杀后台的工具所清理。但好景不长,流氓APP对此进行了优化,简单的工具已经无法处理它们。

二、流氓APP的灰色操作

除了注册最高级之外,流氓APP还利用安卓系统的触发唤醒机制进行胡乱唤醒。安卓系统中有一项设定,应用可通过某个事件来触发特定动作,比如连上WiFi可更新数据;点亮屏幕可触发最新消息推送。原本这一设定能带来极大的便利,但是被流氓APP利用之后就变成一触发,整个APP就在后台迅速启动、占用资源。在这种不断点亮、不断启动的情况下,简单的杀后台工具就无法一一处理了。

对此,Google在安卓6.0中引入过Doze的APP休眠机制,可是这种为了防止流氓APP而使手机全部处于无操作的状态,对于长期用机的用户来说依然是效果有限。

另外流氓APP还有一个特色就是相互唤醒,当你开启了某个应用,很多链接APP就都会被一起唤醒、狂占内存。而除了“同伙”的帮忙,自己的“生命线”也尤为重要,一个APP注册N个进程,就算一个被终止还有其他的进行唤醒。

三、各方的努力应对

除了上述说到的Google在安卓6.0引入的休眠机制外,最新8.0就推出了严格的后台管控机制,强制停用一些不常用的后台APP。此外还有开发者的Android绿色应用公约,倡导绿色规范的应用,还安卓健康的生态环境。而在安卓系统卡慢的问题上,华为也做出了自己的努力。

例如华为Mate8的麒麟950,其内存吞吐就是利用智能Boost调度算法让后台自启动管理,从而对应用间的相互唤醒进行管控,例如对相互唤醒的全家桶软件就是很好的打击。此外HUAWEI Ultra Memory技术能根据应用优先级进行后台内存压缩,为重要应用释放空间。

四、总结

因此在针对流氓APP导致的安卓生态问题上,这是每个厂商和用户都切身关注的问题。除了Google官方的应对和手机厂商的努力外,花部长更希望能有越来越多的应用共同遵守规则,一起改良安卓生态,而不是为了不正当的利益和占有率疯狂损益用户体验,走上不可持续发展的道路。

——— 我是福利分割线 ———

活动正在火热进行中,只需以 “_____________又怎样?可我还有手机啊!”造句,就有机会赢得七夕荣耀V9、荣耀路由、秦时明月笔记本等超级大礼,赶快戳参加啦!!(点击图片或活动标题即可参加)返回搜狐,查看更多

责任编辑:

1.环球科技网遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.环球科技网的原创文章,请转载时务必注明文章作者和"来源:环球科技网",不尊重原创的行为环球科技网或将追究责任;3.作者投稿可能会经环球科技网编辑修改或补充。