很多人将手机运行快归功于处理器和内存的提升,这也是每次升级换代手机厂商乐于分享的亮点。不过从处理器到手机App的打开速度,精确计算的物理参数并非起到决定性左右,尤其是Android系统,直到现在仍未甩掉卡顿的帽子,横亘其中的原因不言而喻。普通手机厂商往往寄希望于硬件升级,而少数品牌除了配备顶级处理器和大内存之外,往往做了很多幕后工作,凭借软件功底针对系统进行底层优化,提升速度减少功耗,这些努力往往因为用户的接受程度不够或者厂商的宣传力度不够而变得不为人知。今天我们就来揭秘手机厂商是如何优化自家系统。
为狙击卡顿 厂商做了这些不为人知的努力
在系列版本的演进过程中,Android系统本身也并非一成不变,比如在Android4.4中将Dalvik虚拟机模式调整为ART模式,提升系统的运行效率,一直以来,Dalvik虚拟机背负着Android应用卡顿的罪名,原因则是应用在运行的过程中,虚拟机Dalvik通过一个叫JIT(Just-in-time)的解释器动态的进行编译并执行,这一过程也拖慢了运行效率。Android5.0中ART模式成为常态,ART 虚拟机编译器在内存占用及应用程序加载时间上进行了大幅提升,另外5.0支持更大的寄存器,支持新的指令集,提升了内存寻址空间,这也为后续6GB内存手机的出现提供了可能。
Android L启用ART模式
随后的Android 6.0推出Doze电量管理功能,当设备没有连接到电源,设备进入 Doze 模式时,系统将通过延迟最近用户没有使用的应用程序的后台 CPU 运作及 络活动,让应用程序处于 App Standby 状态,以此来减少电池消耗。谷歌表示,在 Nexus5 和 Nexus6 上测试,当屏幕处于关闭状态,平均续航时间提高 30%。
Android 6.0推出Doze电量管理功能
不过面对碎片化的终端设备,Android无法兼顾对每一款手机的优化,这就需要厂商根据需求制定相应的解决方案,减少Android手机开始很流畅,几个月后就开始卡顿的窘态。
华为:智能Boost调度算法解决卡慢
以华为Mate 8为例,麒麟950本身就针对快速触发App做了很多优化,首先在启动速度、操作响应以及滑动帧率做了提升,加速CPU的Boost性能,将响应速度降低至100毫秒内,一般工作状态下确保每一帧绘图在1/60秒内完成,不会有卡顿的体验。
在多个测试场景下,华为Mate 8的表现都超过对手,以短信为例,华为Mate 8从点击屏幕到进入短信列表界面时间为400毫秒,同一环境下iPhone 6s Plus耗时680毫秒,iPhone 6s需要601毫秒。另外在指纹解锁、进入图库等完成界面加载时间均不超过400毫秒。
智能Boost调度算法解决卡慢
在另一个测试环境中,点杀掉微信的冷启动过程中,从打开微信到接收红包、抢红包等一系列动作,冷启动微信仅需要0.97秒,整个过程也能够在1.46秒内完成,可见优化后的华为Mate 8在应用的快速触发方面有着不错的表现。
系统层面华为Mate 8主要从功耗和进行两个方向做功课,首先增添熄屏省电功能,功能开启后,灭屏1分钟后关闭数据 络,并且关闭4G。这个模式下,只能打电话发短信,彻底杀死所有后台应用(有部分例外,如默认输入法等),保证绝佳的省电性能。
系统层面实现内存优化
省电的另一举措是启用省电防火墙,随时监控后台软件运行,及时发现高耗电应用,以及因为逻辑设计不合理导致的异常耗电应用,我们经常遇到的流氓App在省电防火墙下也会无用武之地。
内存吞吐方面华为Mate 8拥有后台自启动管理,可以对软件之间的相互唤醒进行管控,比如某些全家桶软件常常会通过唤醒“队友”的形式强占内存空间,自启动管理对国内这些不遵守开发守则的流氓App强有力的反击。
另外Mate 8还会通过进程冷冻的形式对内存优化,不少手机在使用数月之后出现的卡顿以及空间不足现象多为文件碎片化导致,为此华为独创存储方案,实现静默无感知运行,减少手机卡顿,保持手机的长时间都能做到流畅运行。
其他途径的升级之路
当然,其他安卓厂商也开创了一些其他的途径来提升系统的流畅度。如加强了对第三方应用的管理,通过智能化的内存管理器能够识别耗电异常以及长时间驻留在后台而用户不使用的应用,内存被有效的控制利用起来,系统流畅度自然有了保障。
三星:FOTA升级实现智能内存调度
内存管理方面能够查看是否有程序在后台偷跑,结束个别或者全部正在运行的App保证可用内存空间。根据程序属性不同,结束后可能会再次自动运行,用户能选择禁止不需要的自动运行程序。系统负担大幅度减小,从而达到省电、提高性能的作用。长时间使用手机后,第三方应用会产生大量的垃圾文件和不需要的临时数据,拖慢系统的运行速度。为了防止储存空间过满的情况。
有些品牌对于系统进程的智能管理也提出了不同的理解概念——“通过强大的智慧引擎,自我检测和自我感知,制定更高效的CPU和内存等资源调度方案,使用户的操作体验持续无比畅快”
vivo智慧引擎
智慧引擎在用户使用手机的过程中,可以自我学习并分析用户的使用习惯,将APP按照使用频率分类,并通过自我检测,实时侦测内存使用状态,并通过自我感知,判断系统是否在空闲时段,如果在空闲时段的话,智慧引擎会根据其用户的习惯,判断哪些APP在短时间内用户不会再使用,并将这些APP静默回收,将内存回收的动作化整为零,使得卡顿的概率被大大降低,让手机不仅平时使用持续畅快,而且就算长时间使也仍然持续流畅。
一些系统级别应用则会突破权限常驻内存,供用户随时调用,这样保证了我们能快速打开相机,缩短加载时间,从系统角度提升了手机运行的流畅性。
系统加减法:优化卡顿需要这几招
目前智能手机主要有两大系统:苹果的iOS和谷歌的Android(安卓),其中iOS由于其封闭性,所以在生态控制和内容规范上更加严格,都必须要按照苹果的规则来,因为不论是内存使用、资源利用,还是CPU调用、软件垃圾等等,都有些标准的流程和规范,因此不容易卡顿及死机等等。
但安卓则因为是开源系统,所以在系统方面开放性极大,这也造成了严重后果,成为其卡顿死机的重要因素,首先安卓对资源管控极为宽松,对于APP的资源申请来者不拒,谁要给谁,资源消耗极快,使得后台应用肆意消耗资源;然后就会使得CPU和运行内存非常紧张,而为了维持手机的正常运转,系统就会简单、粗暴、野蛮的清除后台应用,不但导致系统明显卡顿,而且想保留的APP也会被清除;接着再过一段时间,大量APP产生的垃圾和碎片将会泛滥成灾,CPU和内存资源消耗殆尽,这样严重的内存碎片化导致系统运行极为缓慢,并且将很难清除和改善;同时,在国内由于各种“XX全家桶”的APP,所以还有第三方APP随意自启动、乱弹窗、乱发通知广告的问题,混乱无序的操作极大干扰正常使用,不但占用大量资源,导致系统卡顿,还会大幅增加耗电;另外,还因为这些第三方APP不规范的开发,会出现很多缺陷,从而造成CPU工作异常和高耗电,系统运转异常,应用资源申请被拒绝,最后手机彻底死机等问题……
根治Android的三个顽疾
手机厂商在系统层面所做的努力可以涵盖为这几点:
1、优化内存吞吐机制,以动态回收的形式保证手机有足够的内存可以使用;
2、加强自启动管理,避免流氓软件以及全家桶软件的不规范动作,降低因为软件造成的功耗和内存占用提升;
3、优化存储空间,对临时无效文件及时回收;
4、智能调用CPU硬件,通过算法提升CPU的运行效率,加快系统运行。
智能手机硬件包括电池在近期不会有太大幅度的跃升,不过Android使用环境仍然堪忧,有能力厂商会逐渐倚重系统优化,成为提升用户体验差异化的手段。不过绝大多数手机而言,解决手机卡顿仍然任重而道远。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!