手机(内存)8G秒变12G? 「内存融合」真的这么厉害吗?

strong>文/小伊评科技


手机本身的角度来说,开启“内存融合技术”会一定程度上加重CPU的负担,也会导致存储芯片过早进入老化阶段,大家都知道存储芯片的寿命是按多少次完成的读写来计算,“内存融合”频繁的读写势必会加速存储芯片的使用寿命。

认同我的看法,请点个赞再走,感谢!

没啥用处,很久以前电脑上就有虚拟内存技术,后来就没有下文了,硬件不行系统优化的不好有啥用只是参数好看,是厂家搞出来的噱头,这一点苹果就从来不堆砌参数,那些宣称内存融合的都是忽悠人的。

这个技术其实过去一直在用,但在eMMC存储时代提升得并不明显,只能用来缓解内存不足的问题,但现在不一样了,因为UFS存储芯片速度有了大幅提升,所以“内存融合技术”才有了有感的用武之地。

“内存融合”开还是不开好

长久以来手机圈内一直都在讨论一个经久不衰的问题,Android比IOS更耗内存,同时期的iPhone比Android内存更小,但系统运行的速度反而更流畅。

而提前介入就是指,内存融合技术会主动的,提前介入到用户的行为模式中去,而不是等到了内存不足的时候再去介入,从而在一定程度上避免了由于内存不足所带来的流畅度下滑的风险。这个同样需要手机厂商进行开发。


至于zram技术,同样也得到了比较长足的优化,譬如在VIVO最新的开发者大会上所说的那样,它可以通过内存融合技术将原生系统对于运存的占用降低800M,这就是一个典型的技术应用,经过优化的zram技术,可以更好地和NPU进行配合,从而减轻CPU的负担,让他为系统流畅服务的同时规避一些弊端。


现在Android手机动辄10GB内存能够同时运行APP的数量,其实并没有过去3GB、4GB内存时代的要多很多。了解过“安迪·比尔”定律的小伙伴就会知道硬件性能提高了一些,很快就会被软件吃掉。通过“内存融合技术”可以大幅度地增加内存空间,这样中低端手机用户就会觉得有明显的体验提升,中高端用户也能够感觉到性能有所提升。实际具体提升的程度还是得开手机厂商内存扩展的能力,以及软件调教的能力了。

内存融合技术并不是隔空增加内存

喜欢我的,请关注我,再次感谢!

以上个人浅见,欢迎批评指正。

总结来看,这个技术是很有必要性的,毕竟手机的内存不可能的无限增加,如何能够利用技术来降低硬件成本,也是未来的一个大势所趋。


内存融合技术,单以这个名称来说,最早出自于VIVO的系统上,也就是在初代Origin OS发布的时候,这也是普通消费者第一次知道原来安卓系统上也有类似于PC虚拟内存的东西。

2021年下半年以来各个国产Android手机厂商似乎约好了一样,先后推出了各种各样的“内存融合”技术。“内存融合”技术对于过去一直饱受内存不够用的绝大多数人来说无疑是一大杀器,所以也理所当然地成为了厂商宣传时的“黑科技”噱头。

“内存融合技术”优势何在?

什么意思,简单来说经过改练后的内存融合技术会根据用户的使用习惯,软件本身的特性来智能的判断哪个进程可以被放入到由闪存划拨空间中,而不会影响用户的体验,这就需要手机厂商的系统研发部门依照自己的用户行为数据以及和应用厂商的沟通结果来进行判断。

对于绝大多数普通人来说手机普遍是用1~2年就会更换,平常CPU很大一部分性能都是闲置状态,存储芯片可能手机扔掉了还没有坏,所以对于绝大多数人来说“内存融合”技术所带来的快感是值得。“内存融合”开不开还是得根据每个人的实际情况来。


综上所述,虽然swap以及zram诞生很久,但是由于存在种种弊端,一直都没有得到什么重用,而swap本身就是针对一些低端手机而生的产物。

荣耀手机没这功能吧

但是大家也请注意,这并不意味着所有搭载安卓系统+UFS3.1系统的手机在开启swap技术之后都能拥有一个稳定的,流畅的体验。

zram技术,则是一种压缩技术。举个例子,假设支撑WX的进程需要500M的运存空间,而采用了ZRAM技术之后,在该应用打开的时候,CPU就会对进程进行一个初步的压缩,把他从500M压缩到300M,从而降低对于物理运存空间的占用。但是这个技术也是有弊端的。就是会占用CPU的算力资源,而且相当于是在在打开应用的同时,给CPU多增加了一道压缩的工作,这对于整机的流畅性自然是有相当大的影响的(安卓系统的执行效率)

其中SWAP技术和我们在Windows平台上所见到的虚拟内存技术是比较类似的,简单来说就是在系统检测到物理内存不足的时候把一部分闪存空间(也就是硬盘储存空间)划拨出来归内存所用,从而让系统中的服务不至于直接挂掉或者不响应。但是,这个技术的核心问题就在于,当系统察觉到内存不足的时候,本身就已经启动了内存回收的机制,而这就是造成卡顿的根源所在。再加上当年闪存速度的制约,SWAP技术在安卓系统上一直都没有什么好的发挥。

这可是一个大工程,需要下大功夫的,可没有大家想象的那么简单。

虚拟内存而已

早在Android 2.2时代就有了zram、swap来提升系统运行内存了。zram是在物理内存中划分一个区域用来将APP不活跃的代码进行压缩,用的时候再解压出来。这个方法就会增加CPU负担,需要CPU计算和甄别不活跃的代码。

其实内存融合技术并不是什么特别新的技术,其底层的技术就是从Linux系统中已有的技术的改良版,这个技术就一直存在,也就是在开发行业很多人都知道的swap以及zram这两大技术,但是这两大技术一直存在很大的弊端。

swap则有点像windows里的虚拟内存,当内存不足的时候就会将存储空间作为内存来使用,这样系统就可以同时运行更多的程序,存储读写速度远低于内存,所以卡顿是理所当然的。

这是因为Android系统运行时需要先打开虚拟机,APP通过Java代码动态地编译成SOC芯片能够识别的机器代码。在这个过程中APP自动进行内存的分配,而内存释放却是有GC完成,内存资源收支分离加重了JVM、Dalvik、ART等等的工作量,所以速度相对就会缓慢。

原因也很简单,因为原生的swap技术并不智能,他只会根据系统检测的情况,在内存不足的时候简单粗暴的把一些进程丢在闪存空间中,如果这个进程恰巧是用户正在使用的某一个应有进程,那么就会出现应用卡死,卡顿的问题,影响体验。而且SWAP技术只会在系统认为内存不足的情况下才会介入,这个时候其实就已经出现了性能瓶颈,并不能直接避免系统卡顿的问题。

“内存融合技术”其实就是旧酒装新瓶,有的厂家用了zram技术来扩展内存,有的用了swap技术来扩展内存,绝大多数都是zram、swap同时上效果更佳。

所以,对于手机厂商来说,如何能够让swap技术“活起来,智能起来”才是关键,而在这方面其实才区分出手机厂商之间的技术差别,大家可以去看一下在VIVO Origin OS的第一次发布会上对于内存融合技术的描述,有两个很重要的指标——“智能分配,提前介入”。

通常情况下当Android系统返回桌面或退出软件时,APP并没有关闭而是整个保持在内存中,挂起在后台。苹果系统按下HOME键的那一刻,APP就关闭了,APP只留下最后的运行数据在内存中,当软件再次打开系统就会将最后保存的数据还原到软件中,用户就觉得软件一直在后台运行。

其实就是linux上的swap(交换空间),类似Windows上的虚拟内存功能[泪奔]换个名字(内存融合)就晓得高大上了。好忽悠

IOS APP开发用得最多的Objective C、Swift是Native语言,它并不使用GC这样的机制,避免了额外的内存开销,而IOS通过GCC编译出来的代码可以在苹果手机上直接运行,并不需要借助虚拟机,GCC使用内存是自己分配和回收,所以执行效率非常高。

END 希望可以帮到你

看到很多人都在唱衰这个功能,我觉得大家有点极端了,这个技术虽然不算多么新的技术,但是这并不代表着老技术就不能焕发第二春。

然而随着时间的推移,技术的进步以及硬件性能提升的,这两个技术才迎来了自己的春天。首先是闪存性能的飞速提升,从emmc逐步升级到了目前最新的UFS3.1,闪存的顺序读写以及随机读写性能提升幅度巨大,这就给swap技术奠定了良好的硬件基础,因为虚拟内存技术的性能瓶颈就来自于闪存的读写性能。

技术听起来很厉害的样子,还得看看它实际的表现才行。

展开阅读全文

身价高达2000多亿的马化腾,能一次性从银行取出2000亿吗?

上一篇

现在为什么那么多农村户口去城里买房,却户口不迁移的?

下一篇

你也可能喜欢

插入图片
手机(内存)8G秒变12G? 「内存融合」真的这么厉害吗?

长按储存图像,分享给朋友