我们知道 Java 程序 App 想要运行在高效的机器码模式下,代码需要在手机终端进行编译,但是这个编译过程异常消耗 CPU 的资源,会造成其他应用卡顿,而且会增大存储空间占用。在 Android 5.0 至 8.0 升级的过程中,谷歌的 AOT( ahead of time ) 编译一直没有一个最优方案,反复在存储和应用安装时间上做均衡。MI 预编译系统完美的解决了这些问题,小米会将应用第一时间生成的热点代码进行筛选以及进行即时编译,并且在编译的过程中限制编译线程对 CPU 的占用,防止编译消耗 CPU 而导致的卡顿。目前编译限制 CPU 占用的方案已经被谷歌采用到 Android R 的大版本中,开源给各个厂商。
内存和存储的紧缺和碎片化也是越用越卡的根因之一。为了解决这个顽疾,小米的防老化架构引入了运行时的内存管理方案,动态内存清理方案以及文件系统防老化方案,深度且及时的对内存以及存储的碎片进行整理和清理,并且小米还对中低端机型做了更深度的定制,保证用户的流畅体验。
1. MI 调度时延引擎,Linux 完全公平的进程调度策略在高负载情况下会导致前台应用因为抢占而延时。MI 调度时延引擎实时监控前台应用的情况,动态调整关键线程调度策略,使得前台应用关键线程第一时间被响应,大幅降低响应时延。
2. MI 智能 IO,同上,Linux 完全公平的 IO 调度策略在 IO 压力下会导致前台应用得不到合适的 IO 带宽,进而导致各种长时间无响应。MI 智能 IO 识别 IO 压力场景,并会对后台低优先级高带宽应用做 IO 的带宽限制,为前台应用应用提供更多带宽。
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。