旧机满血复活?搞机党都已经不玩了的东西又被厂商送上天?

随着手机软件的不断臃肿化,内存作为决定了能同时运行多少软件的直接因素,

已经成为了选购手机最重要的指标之一。

从 1G 「超大内存」到现在的 「8G 起步,12G 刚需」 也没花多长时间,很多人的手机内存甚至超过了电脑内存大小。

image.png

拼到了12G,受限于价格短期也没法继续加,只好在其他方面做文章。

近段时间许多手机厂商纷纷鼓吹一项「新技术」:内存融合。

虽然各有差异,但总的来说,都是内存「免费变大」。

image.png

什么是内存融合  

2021年了,大家应该能够分清什么是内存、什么是 存储空间,如果还分不清,这里直接举例:
比如常见的 8 + 256G,8G 就是内存 RAM,256G 就是存储空间 ROM。
内存融合呢,就是将一部分 ROM 当作 RAM 来用,8G 变10G、12G,如果你想,变100G 也不是不行。

image.png

然而很快就被用户指出,这不是炒冷饭吗?
也没错,这不就是 Windows 的虚拟内存,Linux 的 SWAP 吗?都有着很长的历史了,并且在 Android上也是一早就有了。

所以说 这古老的技术真就是智商税?先别急着下定论。

image.png


永远不够的内存  

与 Windows 不同, Android 对内存的使用方式是「尽最大限度使用」,用以缓存尽可能多的进程以提高应用的启动和切换速度。

所以即便是两台只有内存不同的手机(比如同一款手机的8G和12G 版本),开机时的内存占用大小都是不一样的,就算你装的应用也完全一样。

image.png


而且 Android 中存在着有个广播机制(Broadcast Receiver 广播接收器),在系统里起着核心作用。

比如广播通知三年六班李子明的妈妈给他拿了两罐忘崽牛奶,李子明接收到这个信息就有所动作,因为李子明有对应信息的广播接收器。

而由于 Android 应用的审查机制,Receiver 滥用十分常见,常见的Receiver包括:

◆ 用户唤醒手机时;
◆ 网络改变时;
◆ 安装卸载了其他APP时;
由于每个人都有接收器,几乎收到任何广播信息都会被唤醒,李子明他妈关我啥事啊?

一大堆实际上并不需要的应用随时被唤醒,占用着本就不多的内存,即使你明明关闭了这些软件的自启。

image.png
My Android Tools 可以禁用广播接收器

内存融合不是增加内存 

回归正题,厂商鼓吹的内存融合,你是不是以为就是直接将 ROM 当 RAM 使用,8G 变 12G 是不是和直接买的 12G 差不多?


内存融合,yyds?

image.png

厂商们鼓吹的「全新的内存扩展技术」,其实就是两项老技术。
SWAP:将部分ROM 当作RAM 使用,将优先级较低的进程放到 ROM中。
ZRAM:压缩不活跃进程,减少内存占用。

其实不需要厂商来做,众多软件早就有调整 SWAP 与 ZRAM 的功能,比如Scene 4。

image.png
Scene 4 ,需要 Root
那么内存融合,有用吗?有用也没用,主要有以下原因。

占用 CPU 资源   

前面提到了内存融合的原理,在实现过程中比较重要的一点时:需要识别哪些进程活跃,哪些不活跃。

而这个过程需要 CPU 来完成,而不那么强的 CPU 可能自己手头的工作还累的够呛呢,本不富裕的家庭雪上加霜。

image.png

所以对于那些本来 CPU 就不太够用,也只在乎前台应用的流畅度的设备,内存融合反而消耗了一定的CPU 资源,这就是没用的。
对于本身CPU 性能过剩,但受限于内存太小,经常后台被杀的设备,内存融合似乎也不太会拉低流畅度,而提高了应用的启动和切换速度,这就是有用的。

速度差异     

而说有用又没用的另一个原因,就是RAM 和 ROM 的速度是存在天壤之别的。
目前手机上所使用的 LPDDR4X 、LPDDR5 内存,传输带宽都是 以十 GB/S 计算。

而闪存(ROM 存储空间),即使是最新的 UFS 3.1 标准,带宽上限只有 2.9 GB/S ,而使用的 NAND 芯片的实际速度上还要低上一截。

image.png
测试软件:CPDT Benchmark
并且,老设备的 EMMC 闪存,更慢。

RAM 和 ROM 光是速度上就没法比,延迟等指标就更不用说了。

image.png

所以用 ROM 扩展的这部分RAM ,速度非常慢,只适合放一些不活跃的进程。

对于老设备来说,原来因为内存太小玩不了的,现在同样玩不了,而作为存放不活跃进程,切换速度也不会有明显提升。

b64da6adly1g921yrgfbij20j60j6q4v.jpg

而比较新、配置比较好的设备,闪存速度也相对没有那么慢,作为后台不活跃进程存放的空间,虚拟内存确实可以用来加载一部分可能会用到的应用进程,提高启动和切换速度。

总结     

内存融合这个技术本身并不只是一个噱头,但这个技术同样有很多局限性,不同用户不同的使用习惯和应用场景以及设备本身配置差异都影响着这个技术发挥的效果。

正如前面所说的,有用也没用,「听君一席话,如听一席话」。

006Mi9iRgy1gqut7hnqioj30e80e80te.jpg
别急,如果你符合以下情况:
本身性能过剩,需要众多应用常驻后台、经常来回切换并且在意启动速度、玩游戏时容易被杀后台错过重要通知,内存融合对你来说还是有用的。
其他人就不用期待内存融合能给你带来多大的提升了,这个老技术也不应该被厂商如此鼓吹。