手机厂商都在吹的内存拓展,真有这么香?

兄弟们,有没有感觉到最近手机圈有种文艺复兴的味道?

没错,小雷要说的就是被手机厂商们营销得天花乱坠的「内存融合」。
去年vivo在发布会第一次推出这项技术时,还专门弄了几页PPT来介绍。
通过自家的内存黑科技,从闲置的闪存中调用3G变成运行内存,让运存从12G变15G。
vivo还表示,这能让系统的后台保活能力有了显著提升,手机运行畅快无边。
大伙第一次看到这种功能会不会觉得赚大了?
毕竟以前想买运行内存大点的手机,还得自己多掏钱。
现在有了这技术,等于厂商白送内存,以后买手机6G起步,岂不是既省钱又流畅?
随着vivo带头,后续有好几家手机厂商都跟上节奏,发布了类似的「内存融合」功能。

比如OPPO,它甚至把可拓展的运行内存拉到7GB。

OPPO表示,12G运行内存的机子经过拓展,可以达到等效19GB运行内存。
华为也紧接其后,在发布会官宣了内存拓展技术。

小米在这方面反而比较低调,啥也没有宣传,就在MIUI12.5最新内测版上加上了「内存拓展」功能。

但出于性能的考虑,目前只有骁龙865、870和888旗舰或次旗舰机型能用。
而且相比其他手机厂商动辄8G的扩展运存,MIUI显然更加保守,最高只有3G运存拓展。

那么问题来了,厂商们大力宣传的「内存拓展」到底有没有用?

小雷开头先说个结论,肯定是有用的,但远没有那些PPT吹得那么夸张。
即使给手机加上20GB拓展内存,它也不可能等效于原生运行内存,二者更不能简单地做加法就用来搞宣传。
什么12+8=20GB,这显然是噱头大于实用了。

虚拟内存 ≠ 物理内存

在聊手机厂商的「内存拓展」之前,咱们还得先从电脑的虚拟内存聊起。
相信大家都对这个界面很熟悉,这是Windows系统的虚拟内存设置。
这功能在PC上已经有很长的历史了,并且是默认打开的。
当电脑内存(RAM)不够用的时候,系统就会把一部分进程暂存到磁盘,防止软件崩溃或闪退。
但磁盘(ROM)的读写速度肯定比不上内存,频繁地读取和写入会导致电脑出现卡顿。
在这种情况下,咱们总不能说给一台4G内存的电脑加上10GB虚拟内存,它就有14GB内存吧?
而在Linux内核中,也有着类似的虚拟内存机制,但实现方式和Windows不太一样。
就拿安卓来说,缓解运行内存不够用最常见的方法就是Zram和SWAP。

绝大部分情况下,手机厂商是不会给手机开启SWAP来当虚拟内存的。

因为这功能真的很伤手机闪存(ROM),也很容易造成手机卡顿。
特别是在emmc的年代,因为手机闪存读写速度太慢,SWAP会严重影响手机性能。
至于为什么副作用这么大嘛,咱们继续往下看就知道了。
SWAP说白了就是从手机闪存中取一小块区域出来,当作内存使用。
当手机运行内存实在不够用了,就把暂时用不上的进程放到SWAP分区里面,缓解运行内存不足。
等运行内存够用后,再把那些暂存到SWAP分区的进程取回闪存。

这一来一回,就非常考验手机的闪存读写速度了。

如果闪存读写太慢,在我们需要把SWAP的数据取回内存时,会造成很严重的卡顿。

而且频繁读取和写入,会导致闪存寿命大大缩减,本来能用10年的,开个SWAP可能用三年就坏了...

考虑到SWAP损害闪存寿命且性能太差等问题,安卓在4.4版本就引入了一种新的内存拓展技术 -- Zram。
Zram原理和SWAP类似,从手机内存中划分出一部分区域用于数据交换。
当手机内存不够用时候,就把不活跃的进程进行压缩并暂存到Zram区域,变相增加可用内存。
等手机内存足够多了,再把需要用到的进程数据解压出来。
可能大伙会看得有点懵,小雷举个例子好了。
比如小雷运行了一个大型软件,把它放到后台后,发现居然占了2G运行内存。

此时如果系统的Zram足够积极,就会自动把那个闲置进程压缩打包。

原来占用2GB内存的,经过Zram压缩后,只占用614MB左右内存,相当于给系统腾出了1434MB内存。
至于压缩率嘛,一般会在20~45%左右,还是得看压缩算法和系统性能而定。
Zram相比SWAP的优势也是显而易见的,因为它本来就是从内存里面划分一个区域出来处理压缩数据。
【内存 - 内存】之间的数据交换会比【内存 - 闪存】快得多,再加上它不伤闪存且交换效率更高。
目前已经成为各大手机厂商保活后台的常规手段了。
但是,小雷要说但是了,Zram也是有缺点的。
在压缩和解压内存数据时,都需要消耗CPU资源。

Zram调用得越积极,CPU负载就越大。

如果大伙用的是旗舰处理器还好说,要是买个什么骁龙662手机,Zram简直是CPU杀手,引起手机卡顿。
考虑到两大虚拟内存技术都有明显优劣势,手机厂商的「内存融合」就用了一个折中的方案。
那就是将Zram和SWAP结合起来,在内存吃紧时,优先用Zram把闲置的后台数据压缩。
如果Zram超过某个阈值了,再把少量数据转移到闪存上。
MIUI开发也对这功能进行了解释,划重点,拓展内存并不完全等同于普通内存。

最后

既然都不是新技术了,为啥最近手机厂商们又搞起内存拓展这套玩法呢?
一个很重要的原因是因为闪存技术的进步,现在旗舰手机的处理器性能够强,闪存也基本都是UFS 3.x,读写速度得到保证。
再加上安卓底层的资源分配优化已经比较成熟。

在能够给手机带来体验上提升的同时,厂商又能趁机营销一波,何乐而不为嗷。

但营销归营销,把这种虚拟内存与物理内存等效化,就有欺骗消费者的嫌疑了...
而且系统的后台管理机制本身就比较复杂,并不是说开个8G拓展内存就能保证不杀后台。
最后做个小总结,如果大家的手机有12GB内存以上,大可不必打开内存拓展,默认开启的Zram就足够使用了。
提醒大伙儿,真的别冲着厂商们吹的“内存融合”来买手机,等拿到手发现并没有想象中丝滑流畅时,就为时过晚了。

  好物推荐   

200出头的智能设备应该长什么样?很多人会回答手环,咕咚的回答却是一只功能齐全的智能手表。咕咚F4从F3的方屏进化成了圆屏,颜值更高。除了常规的心率监测、睡眠监测,它还支持体温监测,后疫情时代更放心。信息提醒、天气推送、防水等常规功能都没有缺席,续航时间还长达10天,这不比某米香?

(0)

相关推荐