加入收藏 | 设为首页 | 会员中心 | 我要投稿 555手机网 (https://www.555shouji.com/)- 热门手机、手机评测、云手机、手游、5G!
当前位置: 首页 > 智能生活 > 最新资讯 > 正文

深度解析MIUI9快如闪电是如何炼成的

发布时间:2017-08-11 22:15:41 所属栏目:最新资讯 来源:手机之家
导读:8月11日,小米开始推送第一批MIUI9开发版适配机型,包括了小米6、小米5X、红米Note 4X(高通版),这是小米发布全新一代MIUI系统后,小米手机系统升级的第一步。在此之前,从7月27日开始往后短短半个月时间,MIUI9内测阶段已经有10万人通过刷机或OTA在线升
副标题[/!--empirenews.page--]

8月11日,小米开始推送第一批MIUI9开发版适配机型,包括了小米6、小米5X、红米Note 4X(高通版),这是小米发布全新一代MIUI系统后,小米手机系统升级的第一步。在此之前,从7月27日开始往后短短半个月时间,MIUI9内测阶段已经有10万人通过刷机或OTA在线升级方式使用上MIUI9。

在MIUI9发布后半个月时间里,翻看微博和知乎平台上网友的评价,这10万用上MIUI9的小米发烧友,对MIUI9打出的“快如闪电”体验给予了很正面的评价,称赞最新一代MIUI系统“快得飞起”“快得不像安卓系统”。

深度解析MIUI9快如闪电是如何炼成的

这种“快”是怎么练就的?7月26日发布会当天由于时间有限PPT上只是一带而过,“应用启动加速”、“动态资源管控”、“内存实时反碎片”等十几个黑科技词汇听起来不明觉厉,但似乎又不明所以。本周小编与我们工程师进行了一场深度交流,深入研究MIUI9是如何“变快”的。

安卓手机使用越久会越卡?看工程师怎么说

安卓手机使用时间越长,系统运行速度会变慢,给普通用户的感觉就是“卡顿”“不跟手”。同时使用iPhone和安卓手机的“双枪党”这种感受会更明显一些。

对于工程师来说,这个现象是有悖常理的。因为手机的硬件配置,诸如CPU、内存、GPU等不会随着手机使用时间变长出现过多损耗。另一方面,虽然每台手机里安装的APP有几十上百个,但最常用的也一般在10个以内,安卓手机的高配置是可以支撑这些应用流畅运行的。

那么问题出在哪里?工程师向我们介绍,很重要一个原因是安卓系统的开放性,导致众多APP在调用手机系统权限和资源时不克制乃至贪婪,甚至相互之间不断交叉唤醒,发生CPU、GPU、I/O资源、网络带宽等资源不当占用,该快的时候不快,发生卡顿。

作为手机操作系统,过去四年时间,MIUI一直在做这方面的管束。比如2013年MIUI V5推出对齐唤醒,把多次不间断唤醒管控为集中式唤醒;2015年MIUI7推出增强版对齐唤醒,续航时间比上一代MIUI6延长了25%。今年MIUI9,在资源管控方面可谓下了“重典”,重点分配资源给当前正在使用的APP,约束其他非活跃应用。同步实施的还有文件系统的升级,内存实时反碎片技术,核心组件拥塞控制机制,等等。出来的效果就是影响手机体验的核心几十项问题里,通过逐步克服优化,让手机的流畅体验发生了质变。接下来,在小米工程师的科普下,笔者带大家来深入了解这些背后的黑科技。

用来武装MIUI9的12项黑科技,“黑”在哪里?

根据小米的说法,MIUI9共采用了12项黑科技,来打造“快如闪电”的系统。它们分别是:应用启动加速,动态资源分配,关键场景响应加速,核心组件拥塞控制,持续自动清理,全新文件系统,文件系统缓存管理,内存实时反碎片,异常排除机制,提高通讯效率,无线数据包加速,深度复苏。由于文章篇幅有限,下面重点介绍其中5项黑科技技术。

深度解析MIUI9快如闪电是如何炼成的

1、动态资源分配

动态资源分配技术,表面上是手机系统对于各种资源如CPU资源、内存资源、I/O资源、网络带宽资源的合理分配,实际上背后需要非常庞大的数据支撑才能让各种系统资源合理分配。简单来讲,MIUI9系统大幅提高当前应用在资源分配中的权重,对高优先级应用进行了更细致区分。

其实安卓原生系统很早就设置了“前台应用”“后台应用”两个调度组,来管控资源分配。MIUI9更进一步,把介于前台、后台之间的应用行为比如通知栏应用放到第三个组,如果前台应用(即当前正在使用的应用)运行资源不足,会挤压“第三组应用”调用系统资源的份额,确保当前应用流畅运行。这个过程就像一个家长管理孩子们对零食、书籍、玩具……需求一样,不能无尽应允,也不能随时随地应允,必须加以合理管控和引导才能教出一个“好孩子”。

深度解析MIUI9快如闪电是如何炼成的

2、全新文件系统

MIUI9采用了与最新一代Android O系统相同的SDcardfs文件系统,这是安卓系统未来的发展方向。

在此之前,原生Android为了让各个应用之间数据隔离,让A应用没法读取B应用数据,在系统中增加了一个叫“Fuse”的虚拟文件系统,当应用需要读写虚拟SD卡中的数据时,必须经过Fuse空间才可以传送到系统底层EXT4空间,然后系统底层和Fuse虚拟空间会进行多次往返的数据传送,最终再传送给系统前端,实现一个完整的操作闭环(在实际操作手机的体验中,这个过程是毫秒级的)。

深度解析MIUI9快如闪电是如何炼成的

因为“Fuse”虚拟文件系统和“EXT4”底层之间频繁的数据读写会对应用启动速度产生影响。根据Google在Pixel上的测试数据,通过“Fuse”虚拟文件系统随机写的速度损耗达30%-50%,而SDcardfs损耗则可以控制在5%以内,另外“Fuse”随机读取数据的速度损耗达到90%以上,SDcardfs可以控制在20%以内。这正是这种巨大的读写速度提升,最终呈现给用户的是App应用相应速度的大幅提升。

MIUI 9系统采用全新的SDcardfs文件系统后——这是最新一代Android O/Android 8.0采用的技术,代表着安卓系统未来的发展方向——应用启动速度有明显的提升。比如在小米内部测试中,游戏《阴阳师》在小米6上的启动速度由9秒迅速缩减至5秒左右,效果非常明显。

3、内存实时反碎片

内存实时反碎片也是MIUI9一项黑科技。那么什么是手机的内存碎片?举一个通俗的例子:如果我们把手机内存看作一个记事本,数据读写看作在本子上写入内容。随着手机启动,各种应用以及系统数据会不断写入内存中,这时候会出现记事本上某一页纸上没有写入内容(“一页纸”在内存中的单位是4kb),而前后两页均被使用的情况,这时我们可以把这页没有使用的“纸张”看作一个内存碎片——对于一台4GB运行内存(RAM)的手机来说,这类碎片可能是几千个。

随着手机使用时间增长,手机内存中有可能会出现大量不连续的内存碎片,当有些数据的读写需要使用连续内存页时,虽然手机此时还有内存,但由于它是不连续的,从而导致应用数据无法读写。针对这个状况,安卓原生系统其实做了不少工作,它通过内存回收的方式“腾出”可以满足当前需求的连续内存页。

(编辑:555手机网)

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

推荐文章
    热点阅读