技术解读:小米MIUI的原子内存机制是如何实现的?

存储技术

606人已加入

描述

8月10日,在“我的梦想,我的主题”2021年度演讲暨小米秋季新品发布会上,小米MIX 4正式发布,不仅抢发了高通骁龙888+芯片,还采用了全新的CUP全面屏,通过首创微钻排列技术实现了100%全像素显示。外壳技术上,小米再次优化陶瓷机身,有了更好的触感,和减重30%的轻盈机身。
 
小米MIX 4上在硬件层面上采用了多项“黑科技”,而作为系统软件MIUI,虽然没有新功能发布,却在软硬件结合方面让人耳目一新。原子内存机制是小米产品总监、MIUI体验总负责人金凡在介绍MIUI12.5增强版时重点提到了一项功能优化。
 
内存
 
通过原子内存机制,MIUI12.5增强版可以实现超精细内存管理,拆分应用内存,优先结束不重要任务,而不是暴力的程序强退,让系统内存得到更精细的应用。金凡讲到,以小米10至尊纪念版为例,后台驻留能力提升了64%。
 
你不禁会问这真的是“黑科技”吗?或者这样的“黑科技”是如何实现的?
 
在此我们要先弄清楚,原生Android是如何和系统硬件配合的。在底层系统搭建上,原生Android选择了分层的结构,分别是应用层、应用框架层、系统运行库层、硬件抽象层和Linux内核层。
 
在这五层中,应用层负责交互;应用框架层用于应用程序开发;系统运行库层负责应用下载到本地并支持多应用并行;硬件抽象层负责抽象化硬件并控制硬件;Linux内核层上面有面向安卓专门的驱动。
 
搞清楚这样的分层结构,小米MIUI改动的地方应该是较为明确了——小米在系统运行库层和硬件抽象层进行了优化。
 
原生Android的系统运行库层还有细分,一部分是C/C++程序库,这部分主要是提供基本的性能支持,比如3D绘图函数库OpenGL ES,轻型的关系型数据库引擎SQLite和底层的2D图形渲染引擎SGL等。这部分需要特别提一下SQLite,从金凡的描述来看,原子内存机制能够对应用程序进程进行优先级排序和删除,因此应该有在SQLite的工作方式进行调整,让应用进程的记录方式满足原子内存机制的工作原理,且金凡提到的单进程删除和程序瘦身,也需要在数据库上做文章。
 
系统运行库层的另一部分是运行时库,是一种被编译器用来实现编程语言内置函数,以提供该语言程序运行时支持的一种特殊的计算机程序库。这部分重要的作用是提供最基本的执行时需要。小米MIUI的原子内存机制是一种特殊的进程执行,系统运行库层原本是支持多应用程序并行的,但支持数量有限,因此小米MIUI就需要定制化的执行支持,在这部分加以调整和优化。
 
硬件抽象层让系统能够在内核空间编写硬件驱动程序,添加接口支持访问硬件,实现通过Java接口来访问硬件。通过金凡的描述不难发现,原生Android的硬件抽象层实现的硬件驱动应该是以块的方式设定的,每一个应用程序都是一个块,所有该应用程序的进程都在这个块中,当系统内存无法运转最新打开的应用程序时,按照时间排序,时间较早打开的应用程序就需要强退,并在下一次打开时重新加载。
 
小米MIUI的原子内存机制从概念上就可以看出,他们改变了程序的驱动方式,让每一个应用程序不再以完整体的方式存在于内存中,而是进行了多维度的切割,包括线程的分解以及应用程序加载包外套的压缩功能。进而实现,线程上面是可以独立加入和删除的,且应用程序本身在必要的时候能够进一步进行压缩,让内存中能够容纳更多的应用程序。
 
通过与竞品安卓旗舰机型的对比,当共同打开10个应用程序之后,搭载小米MIUI12.5增强版的机型能够让所有应用都驻留在后台,而竞品安卓旗舰机型驻留应用程序的数量是3个,其他程序均被后台“杀掉”。
 
然而,从目前小米尝鲜用户的反馈来看,小米MIUI12.5 增强版的表现还不是很稳定,有网友在小米社区反馈即便使用了小米MIUI12.5 增强版内测版本,杀后台情况依然存在。
 
内存
 
目前,这样的情况是个例还是普遍现象,需要等小米MIUI12.5 增强版公开上线之后才能知晓。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分