正在阅读:安卓这些年变化多惊人? 那些老玩家才懂的回忆安卓这些年变化多惊人? 那些老玩家才懂的回忆

2019-04-13 00:15 出处:PConline原创 作者:Aimo 责任编辑:censi

安卓曾经的卡顿让你刻骨铭心吗?

  说起安卓的蔑称,“卡顿小王子”这外号是逃不过去的。如果你是老安卓玩家,一定会对早几年安卓的卡顿印象深刻。而当时人们选择iOS甚至WP的一大原因,往往是受够了安卓三帧一卡五帧一顿的糟糕体验。

  而现在,不说安卓已经绝对流畅,起码越来越少人将安卓卡顿视为难以接受的使用障碍;加之iOS在流畅度也翻了车,抱怨安卓卡顿就更缺乏理由了。安卓提升流畅度方面的努力,可谓是有目共睹。

  影响安卓流畅度的第一大原因,就是后台调度机制,安卓的后台机制和Linux一脉相承,返回系统桌面并不会关闭APP的相应进程,而是让APP在后台持续运行;当系统需要更多资源的时候,相应状态的进程才会被请出去。然而不少APP都使用了种种手段驻留后台,系统本身压根没法将流氓APP的进程们清理出去。系统资源越来越吃紧,卡顿也就理所当然了。

安卓
安卓把APP进程分成不同类型,自动管理后台是否驻留,然而APP们可没有那么规矩

  为了解决APP乱驻后台的问题,安卓可谓是费尽心思。在安卓5.X当中,Google推行了伏特计划(Project Volta),系统新增了一个新的API JobScheduler,引入了对齐唤醒机制。APP的后台想要有什么举动,不能再密集唤醒,而是集中于某个时段一齐唤醒,减缓了卡顿的概率。而在安卓6.X当中,进一步引入了Doze机制,当系统检测到手机长期静止的时候,系统会让后台进程进入休眠、极少唤醒,不再让后台进程白白耗费手机电量。

Project Volta
Project Volta可让进程对齐唤醒

  在安卓7.X当中,安卓系统的进程调度就更加以流畅为本了,系统会限制后台能调用的资源,让前台任务保持流畅。而在安卓8.X当中,其开发规范(API level 26以上)要求APP一旦进入后台,需要在短时间内停止所有的后台服务,也不可以随便启动新的后台服务。到了安卓9.0,系统则直接禁止APP调用第三方的API,并且不兼容API level 17——在以往APP可以用第三方或者老旧的API绕过安卓系统的限制,在最新版的安卓中,问题得到了较有效的解决。

安卓8安卓8
安卓8.0限制APP后台服务

  安卓卡顿的另一个因素,是UI渲染机制。在安卓2.X当中,安卓并没有广泛使用GPU加速渲染UI,直到安卓3.X蜂巢当中,才加入了系统级别的GPU硬件加速机制。在此后的安卓系统当中,可以在开发者模式中强制开启硬件加速,让系统强行使用GPU渲染APP界面。开启后,很多原先卡顿的APP都如丝滑般流畅。

  而安卓4.1推行了黄油计划(Project Butter),通过同步机制(Vsync)和缓冲机制,将UI帧数提升到60帧的同时,把每一帧的渲染时间控制住0.0167ms左右。如此一来,安卓的UI就变得前所未有的丝滑顺畅,为流畅度追赶iOS打下了良好的基础。

安卓4.1引入Project Butter
安卓4.1引入Project Butter,让安卓UI渲染帧数更稳定、更跟手

  除此以外,安卓还改进了代码运行效率。我们知道安卓大量模块和APP都使用JAVA编写,在安卓4.4之前,代码需要运行时通过Dalvik即时编译,会耗费大量资源;之后安卓引入了ART机制,APP安装时会预先编译,运行时效率更高。不仅如此,ART还带来了改善的GC垃圾回收器,对流畅度的改善的立竿见影的。在安卓5.0中,Dalvik虚拟机被彻底抛弃,ART全面普及,安卓APP的流畅度上了一个台阶。而在安卓7.0以后,更是引入了混合编译模式,保证JAVA运行效率的同时,安装APP速度还大幅提升。

引入ART后,安卓运行JAVA的效率大增
引入ART后,安卓运行JAVA的效率大增

  另外,为了提高图形渲染的效率,安卓7.0中还引入了Vulkan图形接口,能够更好地调用多线程、更直接地和硬件对话,不少游戏因此大大提高了帧数。例如大家熟悉的《王者荣耀》的Vulkan版,就比OpenGL ES版更加流畅。

Vulkan让安卓的图形性能有了长足的进步
Vulkan让安卓的图形性能有了长足的进步

  种种举措之下,加之硬件的进步(当前中低端的Soc骁龙670、710,带宽也达到了14.9GB/s,之前常见的MT6753带宽仅为5.3GB/s),安卓系统的流畅度已经不是什么大问题。现在的安卓,已经很少出现初期那种卡住假死、幻灯片式掉帧乃至卡到重启的情况了。“卡顿小王子”这一称号,越来越成为安卓老玩家独有的记忆。

总结

  气势如虹走过了这十多年,安卓早已今非昔比。安卓Q已经向公众推送了测试版,正式版安卓10也将会在今年和大家见面,第15个安卓甜点代号即将出炉。

这么多代安卓甜品,你都尝过吗?
这么多代安卓甜品,你都尝过吗?

  期盼着最新的安卓Q/安卓10,你是否还记得姜饼、冰淇淋三明治、果冻豆的味道?如果你还尘封着什么关于安卓的记忆,欢迎在评论区和大家分享吧!

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品