小编在今年1月曾简单介绍过手机为啥越用越卡的原因,只是当时是以苹果降速门为切入点,并没有说透。今天,就让咱们聚焦Android手机领域,从硬件、系统和软件三个方面分析安卓手机为啥容易出现“越用越慢”的尴尬问题吧。 硬件端引起的降速 手机内部的处理器、内存和闪存等硬件单元都是通过不同类型的半导体和导体互联而成,长期使用就必然出现物理老化现象。比如,无论手机采用的是eMMC5.1还是UFS2.1,但这些存储单元的本质还是NAND闪存,存在MLC和TLC混用的情况。其中,MLC的性能和可靠性由于TLC,但随着使用时间的增加,哪怕是MLC闪存也存在降速的问题(可参考电脑领域SSD的降速)。硬盘性能骤降,系统自然没有以前流畅了,这是所有电脑用户都懂的道理。 此外,还有很多硬件单元如果封装不好就会造成氧化现象,而手机不小心的磕碰跌落也有可能导致部分器件的损坏,虽然不影响使用但却容易引起相应的驱动以及上层服务工作异常,而触点老化也易导致手机能耗提升,发热后触发CPU降频而导致系统变慢。 还好,硬件端引起的降速卡顿问题属于极为小众的现象,而我们遭遇的绝大多数手机变慢,则都是系统和软件端引发的“悲剧”。 手机卡顿的“三宗罪” 很多手机配置相同,但流畅度却有着较大的差距。“卡顿感”则是手机不流畅的表现形式,而这一现象则可被细分为3个层面,导致它们变卡的原因需要具体问题具体分析。 第1层:启动器卡顿 除了谷歌自主品牌Nexus和Pixel以外,几乎所有的Android手机品牌(特别是国产手机)都不会采用原生的Android系统,而是主打类似MIUI、EMUI、Flyme、ColorOS、Smartisan OS等自主系统,并号称是由Android x.x版系统深度优化而来。 实际上,说它们是“系统”有失偏颇,它们都是在原生Android的基础上修修补补,比如精简谷歌服务、加入自家服务(如应用商店、云服务、邮箱)和第三方APP、广告等,并改变系统UI风格。行业内对它们有一个专属名词——启动器Launcher。 在绝大多数情况下,手机卡顿的表现就是Launcher变卡,也就是桌面滑动不流畅、下拉菜单时有延迟、进入系统设置功能切换时总会慢一拍等等。 这个层面的卡顿,通常取决于处理器的单核性能,这就让包含Cortex-A73/A72架构的处理器(如麒麟970/960、骁龙835/820/660),要比纯Cortex-A53架构处理器(如骁龙625/630、Helio P20/P23/P30)更有优势。 但是,哪怕是Helio P10、骁龙435这个级别的入门处理器,在排除第三方APP干扰时其性能也足以确保Launcher层面的流畅。如果你新买的手机存在Launcher层面的卡顿,那只能说明这个手机厂商系统研发团队的实力太逊了。弥补的方案只有更换第三方Launcher,比如Nova启动器、ADW启动器、Holo启动器等(又称XX桌面),看看能否提升操作流畅度了。 第2层:APP启动卡顿 智能手机的功能体现在安装的无数APP身上,但是从我们点击桌面图标到进入这个APP界面的时间却长短不一,耗时长的手机给人感觉自然也是系统变卡了。 这个层面的卡顿涉及到闪存性能(比如UFS2.1>UFS2.0>eMMC5.x>eMMC4.x)、内存带宽(LPDDR4X>LPDDR4>LPDDR3,高端处理器普遍支持四通道内存,而入门级处理器仅支持单通道)、系统文件系统优化(是否采用SDcardfs文件系统)。一般来说,配置越强的手机,启动APP的时间耗时就越短,软件优化很难弥补硬实力的欠缺。 此外,更大内存的手机在APP启动中也会起到点睛作用。更大内存可以同时驻留更多APP,从而实现APP之间的“秒切换”。而内存容量较低,驻留后台的部分APP很容易被内存管理机制而清理,想切换回这些APP时就等同于重新启动,速度自然不如从内存中直接调取迅速。 第3层:APP运行卡顿 引发这个层面卡顿的原因有很多,先来看看硬件层面。如今APP都对多核进行了优化,所以核心数量越多,性能越强的处理器,自然可以降低因CPU性能不足而引起的卡顿风险。对3D游戏而言,手机屏幕的分辨率,处理器集成GPU的性能则是更关键的指标,分辨率越低对渲染的要求就越低,GPU越强就能跑出更高的帧数。 魅蓝S6搭载的Exynos 7872集成的GPU型号是Mali-G71MP1,但它在玩《王者荣耀》时的帧数却不逊于很多高端手机,原因就是魅蓝S6屏幕分辨率只有HD+(1440×720像素),GPU的渲染压力远不如中高端手机配备的FHD+(2160×1080像素)屏幕。 然后就是系统和软件层面的匹配优化了。还是以玩《王者荣耀》为例,OPPO R11/R15的体验要比其他搭载骁龙660甚至骁龙835的手机还要流畅,可以始终稳定在60fps左右。但在玩《崩坏3》等游戏时,骁龙835处理器机器的流畅度则可超过OPPO R11/R15。这就是手机厂商和APP厂商是否联合优化的神奇之处。 此外,当手机发热量达到某个阈值后就会出现降频,如果你玩着玩着游戏突然卡顿,很有可能就是CPU/GPU降频引起的,冷却后再玩就能恢复正常。由于手机充电时会导致发热量增加,所以充电玩游戏会显著增加降频卡顿的几率。因此,大家在挑选高端Android手机时,发热量的高低也应纳入重点考核的项目中来。 手机越用越卡是化学反应 以上是新机之间流畅度和卡顿感的来源分析,但现实中最令我们感到困惑的,则是手机新买时操作流畅,但随着系统升级或使用时间的增加却越来越慢。就旧手机越用越卡的问题,却是一种更为复杂的“化学反应”。 辨别系统负优化的方法 苹果通过系统更新降低旧iPhone的运行速度已被证明属实,旧iPhone在更换电池且iOS系统降级后大都就能恢复流畅。所以,iPhone的“降速门”才被大家认为是苹果的阴谋:通过让旧iPhone越用越卡,来迫使用户更换新机。 根据谷歌每次系统更新的说明,从Android 4.x到Android 8.x,每一次大的版本升级都在主打更流畅的体验,理论上系统更新只会让系统越来越快。 所以,Android手机是否存在“降速门”的嫌疑其实也很好排除:升级到新系统后进行双清(也就是恢复出厂设置,这个操作不会降低系统版本,只是清除安装第三方APP和个人设置可能引发降速的嫌疑)。再与降级到旧固件+双清后的手机进行对比,如果前者系统流畅度不如后者,那就可以断定该手机的确在新系统中进行了“负优化”。 但现实中,不仅限于个别品牌,绝大多数品牌手机哪怕从未进行过系统升级,却依旧遇到了手机越用越慢的情况。但是,这个“锅”在绝大多数情况下都要由个人使用习惯和第三方APP来背了。 混乱生态的必然结局 如果大家经常在Google Play Store下载国外应用,会发现这些APP大都是“小而美”的存在,一款APP就主打某项功能。反观国产APP,普遍追求“大而全”,很多应用都是集新闻推送、添加好友、看视频、发弹幕、购物等无所不包。 体量越来越大的APP,对老款手机的硬件压力也是越来越大,比如微信早期版本安装后可能只占150MB空间、200MB内存,但如今最新版微信运行一段时间后却会占用数GB空间和和600MB内存。 换句话说,1年前你的手机可以流畅地同时运行4款APP,如今再同时运行这4款APP的最新版,也许就会出现因内存不足而引起的卡顿问题了。 此外,Android手机用户肯定还遇到过一个问题,刚清理完后台程序,没一会就收到了今日头条的突发新闻、淘宝某店铺的促销广告、懒人听书的书籍更新、某银行APP的最新理财消息……问题是,我一直在玩微信,压根儿就没主动启动过这些APP! 没办法,APP厂商都是要盈利的,所以它们几乎都集成消息推送功能,需要将相关消息推送给更多用户才能完成KPI指标。关于消息推送,苹果iOS的做法是:当APP关闭后,仍然可以走官方指定用来接收/推送消息的通道,流程清晰,安全环保。这就好像传达室,APP想要将“外卖”(推送消息)发给某个用户,需要将“外卖”交给传达室,然后统一由传达室分配给指定用户,外人根本进不来(APP无法自启耗电)。 谷歌其实也为Android准备了类似传达室的机制,可惜在国内谷歌服务功能受限,软件厂商要想在APP关闭时还能推送消息,就必须走上第三方推送消息的渠道。 比如,某APP原本是选择百度外卖的小哥配送,哪怕你不允许百度外卖上门,但这个小哥却可以转交给美团或饿了么的小哥顺道配送(关联唤醒)……你总不能禁止所有外卖小哥吧?于是,随便上门的外卖小哥越拉越多,根本管不过来。 换句话说,当我们打开A应用时,它就会额外开启一条进程,目的是帮忙唤醒应用B;而应用B被唤醒时也会额外开启一条进程,原因是应用C提前找过它要借它的通道发个广告,当KPI达标时是有报酬的……因此,Android系统的APP通常是你中有我,我中有你,而手机宝贵的内存资源就是这么一点一点被消耗的,随之而来的还有额外的耗电、发热增加、降频、以至于出现卡顿现象。 用户习惯可以“延缓衰老” Android手机越用越慢的主要原因,普遍是越发臃肿的APP(又称全家桶),以及各种关联唤醒和常驻内存的资源消耗。当你禁止不常用APP的通知、自启动和关联唤醒权限,你会发现系统的流畅度能有一个明显的提升。因此,所有能熟练使用绿色守护和黑域等APP的手机玩家,真的不觉得老款手机有多卡;如果你用的是水货版本手机,只通过谷歌商店下载APP,时间久了你也不会觉得系统有多慢。 总之,只要你的手机处理器性能达到了骁龙450/联发科Helio P23/麒麟650级别、内存容量大于3GB、闪存版本高于eMMC5.1,在硬件层面就已具备不会卡顿的基因。如此配置的新机如果刚买来就卡,那就建议大家果断“弃坑”,这个厂家的研发优化实力“没法玩”;如果是买来一段时间后变卡了咋整? |