
10月31日新闻,小米集团副总裁兼手机部总裁曾学忠谈到“Android 系统为什么越用越卡”。
曾学忠说,Android系统由于内存和存储的限制以及用户长期使用手机后的碎片而使用越来越多的卡,以及Java语言的解释和执行、效率低下、Linux完全公平的调度策略等等。
曾学忠指出,小米系统软件基础设施MITurbo也一直在深入应对这些行业的挑战,在业界的顶级水平上具有流畅性和性能。Miturbo4.0酷技术包括MI预编译系统、MI抗老化体系结构、MI全貌资源管理。
我们知道java程序应用程序想要在高效的机器代码模式下运行,代码需要在移动电话终端上编译,但是这种编译过程会不正常地消耗CPU资源,会导致其他应用程序进入Carton,并会增加存储空间的消耗。在从android5.0升级到8.0的过程中,谷歌的AOT(AHeadoftime)编译一直没有最优的解决方案,存储和应用程序的安装时间一次又一次地被平衡。MI预编译系统很好地解决了这些问题。小米将过滤和编译第一次生成的热代码,并在编译过程中将编译线程的占用限制在CPU上,以防止由于CPU的编译消耗而引起的卡顿。目前,谷歌已经在一个大版本的androidR和开放源码中采用了编译和限制CPU占用的方案,供各种供应商使用。
内存和存储的稀缺性和碎片也是内存和存储日益使用和分割的根源之一。为了解决这一问题,小米的抗老化体系结构采用了运行时内存管理方案、动态内存清理方案和文件系统防老化方案、深度及时内存和存储碎片和清理方案,小米还对中低端模型进行了更深层次的定制,以确保用户的顺利体验。
1.MI调度延迟引擎,Linux在高负载下完全公平的进程调度策略将导致前台应用因抢占而延迟,MI调度延迟引擎实时监视前台应用,动态调整关键线程调度策略,使前台应用的关键线程在第一时间得到响应,大大减少响应延迟。
2.智能IO,如上所述,Linux完全公平的IO调度策略在IO压力下将导致前台应用无法获得合适的IO带宽,进而导致各种长期的无响应。MI智能IO识别IO压力场景,并在后台限制IO对低优先级和高带宽应用的带宽,从而为前景应用提供更多的带宽。