虚拟内存|手机内存8GB变12GB,你知道它是如何实现的吗?

最近,安卓手机阵营又兴起了一项新的技术,那就是内存融合技术。比如华为在发布Mate 40的时候,宣称可以让原本8GB的内存扩展到12GB。而其他手机厂商,如OPPO、vivo、小米等都相继推出这项技术。那么,这项技术实现的原理是什么?它能带来什么好处?
虚拟内存|手机内存8GB变12GB,你知道它是如何实现的吗?
文章插图

首先,所谓的“融合”完整地说指的是内存与闪存的融合。所以在解释其原理之前,我们不妨了解一下什么是内存(RAM),什么又是闪存(ROM)。
虚拟内存|手机内存8GB变12GB,你知道它是如何实现的吗?
文章插图

内存,是一种既能读出又能写入的易失性存储器,特点是速度快,但断电时会丢失所存储内容,需要不断的刷新,主要用于存储短时间使用的数据,并作为系统运行时的动态缓冲区来使用。
而闪存是一种非易失性存储器,断电后仍能保存信息,也就是说数据一旦写入后就会被固定下来,即使切断电源存储的数据也不会丢失,读写速度相对内存要慢。通常大家在手机中的图片、视频、APP等大文件,都是被存储在其中。
虚拟内存|手机内存8GB变12GB,你知道它是如何实现的吗?
文章插图

平时我们所说的内存(有时也叫运存),就是指手机中的DDR SDRAM,闪存就是NAND Flash。而内存融合技术,说白了,就是将部分闪存扩展给内存使用。
有趣的是,这项技术并不是近年才有。早在Android 2.2时代,就有了ZRAM和SWAP两大内存优化技术。
其中,ZRAM是将物理内存中的一部分划分出来,将后台应用和前台应用的不活跃代码部分进行压缩,需要的时候将数据解压出来,通过降低数据规模的方式变相增大内存。但代价是需要CPU计算,甄别APP中的哪些代码不活跃,增加CPU的占用。
SWAP简单来说就是Windows的虚拟内存技术,也就是将ROM作为RAM使用,它的优缺点也与虚拟内存类似,可以让系统同时运行很多的程序,或是满足占用内存更大应用的需求。不过,闪存的读写速度毕竟慢于内存,在虚拟内存中打开的应用读取效率会下降。
虚拟内存|手机内存8GB变12GB,你知道它是如何实现的吗?
文章插图

众所周知,由于内存使用的DRAM芯片每GB容量比闪存所使用的NAND Flash芯片昂贵许多,所以12GB、16GB乃至18GB的内存通常只会出现在中高端机型上,而占出货量比重更大的中低端领域还是以4GB、6GB和8GB规格为主。我们也知道,手机内存越大能够同时打开的APP就越多。而在智能手机功能越来越复杂的当下,用户对于同时保持多个APP运行显然也是有着一定需求。而内存融合技术在此时便有了意义,它能够帮助那些内存较小的手机打开更多应用,也让一些吃内存的大型应用或游戏流畅运行。
此外,很多人可能已经发现:现在动辄8GB、12GB内存的机型能够同时运行的APP数量,其实并没有比当年3GB或4GB时代多很多。而这并不是错觉,大概有两方面的原因:一是因为硬件所提高的性能,很快就被软件升级带来的必要或不必要的功能给消耗掉了;二是因为Android使用的Java开发语言本身在性能方面的劣势,开发者为了尽可能提升APP的性能以保证用户体验,普遍都会在最大限度上占用更多内存。因此,对于大内存的手机而言,内存融合技术也有一定的现实意义。

【 虚拟内存|手机内存8GB变12GB,你知道它是如何实现的吗?】

    推荐阅读