[返回数码家电首页]·[所有跟帖]·[ 回复本帖 ] ·[热门原创] ·[繁體閱讀]·[版主管理]
技术解读:小米MIUI的原子内存机制是如何实现的?
送交者: hgao[♂☆★★★★声望勋衔19★★★★☆♂] 于 2021-08-12 15:54 已读 838 次 1 赞  

hgao的个人频道

8月10日,在“我的梦想,我的主题”2021年度演讲暨小米秋季新品发布会上,小米MIX 4正式发布,不仅抢发了高通骁龙888+芯片,还采用了全新的CUP全面屏,通过首创微钻排列技术实现了100%全像素显示。外壳技术上,小米再次优化陶瓷机身,有了更好的触感,和减重30%的轻盈机身。

小米MIX 4上在硬件层面上采用了多项“黑科技”,而作为系统软件MIUI,虽然没有新功能发布,却在软硬件结合方面让人耳目一新。原子内存机制是小米产品总监、MIUI体验总负责人金凡在介绍MIUI12.5增强版时重点提到了一项功能优化。

6park.com


通过原子内存机制,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 增强版内测版本,杀后台情况依然存在。

6park.com


目前,这样的情况是个例还是普遍现象,需要等小米MIUI12.5 增强版公开上线之后才能知晓。

喜欢hgao朋友的这个贴子的话, 请点这里投票,“赞”助支持!
[举报反馈]·[ hgao的个人频道 ]·[-->>参与评论回复]·[用户前期主贴]·[手机扫描浏览分享]·[返回数码家电首页]
帖子内容是网友自行贴上分享,如果您认为其中内容违规或者侵犯了您的权益,请与我们联系,我们核实后会第一时间删除。

所有跟帖:        ( 主贴楼主有权删除不文明回复,拉黑不受欢迎的用户 )


用户名:密码:[--注册ID--]

标 题:

粗体 斜体 下划线 居中 插入图片插入图片 插入Flash插入Flash动画


     图片上传  Youtube代码器  预览辅助

打开微信,扫一扫[Scan QR Code]
进入内容页点击屏幕右上分享按钮

楼主本栏目热帖推荐:

>>>>查看更多楼主社区动态...






[ 留园条例 ] [ 广告服务 ] [ 联系我们 ] [ 个人帐户 ] [ 版主申请 ] [ Contact us ]