加入收藏 | 设为首页 | 会员中心 | 我要投稿 南平站长网 (https://www.0599zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 数码 > 正文

为什么安卓手机越用越慢且发烫?这是原因

发布时间:2016-10-15 01:27:53 所属栏目:数码 来源:驱动之家
导读:副标题#e# “看,系统又自动将PPTV安装了回来
副标题[/!--empirenews.page--]

“看,系统又自动将PPTV安装了回来!”

许达展示了他手中的小米手机,在那些号称能被删除的预装应用里,有好几款在被用户卸载后,过一段时间又会在用户不知情的情况下自动安装回来。许达任职于国内一家互联网公司的测试部门,他每天的工作就是和Android系统打交道。每当这个时候,他就会熟练地卸载它们,然后等待它们下一次“作乱”。

因为太过习惯且不在意,许达反而记不清到底是哪几款应用。只不过PPTV恰好在前两天“作乱”过一次。46岁的老张生活在中国西部一座二线城市。前不久,他刚刚换了自己的第四部Android手机——儿子买给他的三星S7 Edge。为了和身边绝大多数用Android手机的人显得合群,他一直都没想着用iPhone。

老张不懂手机系统,但这并不代表他对Android没有看法。新手机使用差不多半年时间,他就会向儿子抱怨,“我这手机怎么越用越慢啊,电池也越来越不经用,而且变得越来越容易发烫。”没办法,他儿子每次回家,都会帮老张清理一次手机里的垃圾,并解决掉导致老张手机变慢的病根——那些开机启动并常驻在手机后台的顽固应用。

某种意义上,许达和老张代表了中国Android用户最典型的两种类型:懂Android、追求开放和自由的用户,甚至是行业从业者;不懂Android,只是将手机当做通信上网工具的普通用户。

他们角色不同,使用的Android手机型号不同,但似乎都面临着同一个困扰——Android手机不听从他们的意愿,总是会越用越慢,越来越容易发热。

这一切是如何诞生的?为何到了今天,Android系统更新到7.0版本,Android手机性能配置不再落后,但“慢”和“易发热”依然是所有Android手机的通病?这背后,其实是一件很复杂的事。

“罪魁祸首”

杨光说,要搞清楚这个问题,“得先从Android的后台机制说起。”通常意义上,Android其实存在两种后台机制,缓存和服务。

缓存指的是,用户之前打开过但暂时闲置的应用。按照Android的逻辑,系统不建议用户清理缓存,这实际会造成先前加载过的应用需要再次加载,反而浪费了手机资源。如果内存紧张,系统会自动释放长时间未打开过的应用缓存,为新打开应用腾出空间。

而服务,可以理解为看不见界面,但隐藏在手机深处的应用。理论上来说,只要开发者愿意,服务可以在任何时间做任何事情——调用手机传感器,每秒钟与服务器轮询通信,隔一段周期扫描手机SD卡,等等。

正是由于服务的独特存在,Android应用可以与手机硬件和系统本身达成更密切的连接,实现很多苹果iOS应用无法实现的功能。

“这是Android开放的优势,但也造成了问题。”独立开发者杨光说,“服务不像缓存那样任系统宰割,内存不足时,系统会杀掉一部分应用缓存,但系统无法杀掉服务。如果某个或某几个服务占据了大量的内存、CPU等资源,手机自然就卡顿变慢。”

对一些想要保证推送消息随时可达的应用来说,利用服务占据系统后台成为了它们的必要选择。而如何实现,开发者又利用到了Android另一项机制——开机自启动。

顾名思义,开机自启动是允许应用在开机时自启并以服务的形式常驻在系统后台。自启动机制的初衷,是为了方便应用服务和推送消息。对一些如果关闭容易对用户造成损失的应用而言,这个机制非常有价值,比如闹钟。

但是,当各家应用开发者从自身利益角度出发时,这个机制就被滥用了。在用户看不见的手机系统底层,自启动的“服务”们不停的调用系统资源,与服务器通信,耗费着手机电量,影响手机运行速度。杨光认为,自启动机制没有问题,被滥用的自启动机制称得上是手机变慢的“罪魁祸首”。

记者拿手中一部2014年出品的某品牌旗舰Android手机做了一项测试。手机安装了微信、QQ、微博、百度外卖、百度地图、美团、天猫、淘宝等12款大厂应用之后,它们无一例外均在下载时就默认设置成了开机自启动。仅开机,不使用,闲置一天时间不到,手机就会耗尽电量自动关机。

杨光坦言,国内绝大多数Android应用都会设置开机自启动,而在大公司出品的应用,比例会高达99%。“他们更看重商业利益,推送消息多触及一个用户就能带来多一份应用分发推广的收入。”

斗智斗勇

Google和手机厂商自然都不会对这一现象坐视不管。2012年6月,在推出Android 4.1系统时,Google还推出了自家的推送服务体系——Google Cloud Messaging(GCM)。类似于苹果的推送服务体系(Apple Push Notification Service,APNs),GCM不要求应用常驻在系统后台,只需要用户设备的一个标识符(Device Token),就能保证应用的推送消息能到达用户的设备。

在Android 6.0中,Google还推出了Doze Mode和App Standby两项功能,来保证熄屏状态一段时间后,设备进入休眠状态,最近没有使用的应用将处于空闲状态。此举将减少应用自启情况,并降低电池消耗。显然,Google也意识到了自启动机制被一些“流氓应用”滥用了。

不过在中国由于一些特殊原因,需要连接Google服务器的GCM无法使用,导致Google官方的治理手段失效。于是,对Android进行深度定制的各家手机厂商推出了它们的应对方法——自启动管理。自启动管理,即在手机里有一款内置工具允许用户管理设置允许哪些应用自启动,禁止哪些应用自启动。

一名猎豹移动安全工程师告诉记者,“从功能本身来看自启机制是利大于弊的,但如果不加以控制,各家应用都默认自启的话,那这个机制就没有意义,只会让手机越用越慢。手机厂商对自启动机制的正确管理,将一定程度上引导自启动机制被有效的利用。”

在杨光看来,自启动管理做的好的手机厂商真的能帮助用户管理系统后台应用,提高手机运行速度。“毕竟没有哪一个手机厂商愿意用户使用自家手机留下一个‘慢’的印象。”

杨光认为,华为和一加应该是属于自启动管理最严苛的手机厂商。华为手机默认禁止任何应用自启动,并且系统设置里有一个白名单机制,不在白名单里的应用会在熄屏一段时间后被强制杀掉。同样,一加手机也有一个原理类似的自启白名单。不过,事情远没有这么简单,应用开发者与手机厂商之间斗智斗勇的戏码仍在上演。

即使用户曾关闭了应用自启动,但有些应用仍会在用户打开过几次之后,偷偷的在系统后台默认自启。而在自启动机制之外,广播(Broadcast)机制也成为了应用自启动的触发条件。Android允许应用通过“广播”监听系统事件的发生,而开发者可以设置成,只要特定的系统事件发生,应用就能够自启动。这些事件包括解锁屏幕、切换网络等。

(编辑:南平站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读