今天是 手机站
您当前的位置: 首页 手机百科

手机扩展内存的优缺点,内存拓展开不开?看了就知道

109人浏览   2023-03-06 13:00:58

目前各主流安卓手机厂商针对手机内存小的配置,通常系统会内置内存拓展功能,既兼顾一部分性价比或追求价格的需求,又能通过软件技术在不增加硬件成本的前提下提升用户体验,还可作为一个噱头大吹特吹,本文主要说明内存拓展的原理和目前内存拓展的利弊,可以视情况开启或关闭功能。

内存拓展

Swapfile(虚拟内存)

提到内存拓展,很多人第一时间想到的是安卓2.3时代的黑科技Swapfile。通常是将SD存储卡写入虚拟分区文件来拓展内存空间,由于传输机制和受限于SD卡传输速度,效果并不理想。

在安卓早期内存容量很小的时候, Swapfile 作为能有效缓解内存不足的一个可选方案,在当时受到大部分技术党的欢迎。它的原理也很简单,在存储中划出一块区域并挂载为交换分区,内存不够用时将内存中的部分数据转移到存储以腾出空间。这种方案非常简单粗暴,但弊端也很明显。首先手机存储的读写性能是远不如内存的,写入和读取 Swapfile 都会明显拖慢手机运行速度;其次, Swapfile 是直接将内存中的数据无压缩写入存储,读写量较大,对手机存储的寿命影响较大。正是因为这些弊端,在后续安卓开始堆内存, 直到ZRAM出现之后, Swapfile 逐渐退出历史舞台。

Swapfile

ZRAM(压缩内存)

2014 年 3 月 30 日发布的 Linux 3.14 内核已经包含对ZARAM的支持。ZRAM与 Swapfile 最大的不同在于 ZRAM 可以完全不读写存储。ZRAM 的原理是在内存中划分一块区域并挂载为交换分区,当内存不足时可以将内存中的部分数据进行压缩,然后写入这块区域。目前主流的 ZRAM 压缩算法可以将数据压缩到原始数据的 20-45% 大小,ZRAM 正是靠这个腾出内存空间。这个方案好处是对存储零读写,对数据的读写全部在内存进行,可以利用上内存极快的读写速度;同时因为不需要读写存储,对存储寿命也很友好。但这个方案也有明显弊端,首先是压缩和解压都需要占用较多的算力,从而导致手机功耗增加,消耗一定电量续航;其次,由于 ZRAM还是存储在内存中,因此 ZRAM 的大小是有限制的。但是如果 ZRAM 分区过大,会出现 ZRAM还没用完内存就满了开始杀后台的情况。

ZRAM

ZRAM Writeback (压缩内存回收)

最近各家安卓手机厂商宣传的内存拓展技术是基于ZRAM的衍生技术 ZRAM Writeback。

ZRAM Writeback 最开始是用于将没法压缩的数据写入到存储。不过目前的安卓内核所提供的 ZRAM Writeback 则是将 ZRAM 中很少访问的数据标记为 idle,然后过一段时间后将被标记为 idle 的数据写入存储。安卓内核提供的 ZRAM Writeback 是可以设置每天的最大写入量的,达到最大写入后将不会回写数据。

ZRAM Writeback 的优势在于读写的数据大部分都是经过压缩的,相比 Swapfile 的数据读写量更少;而且也因为是压缩的,所以读写耗时更短。但同样的,因为是压缩数据,还写到了存储,在读写时依旧会占用磁盘。而且如果一边压缩或解压一边写入或读取,就可能导致速度下降卡顿。但随着闪存技术的发展读写速度所受的影响也不会很明显,值得需注意的是,标记了 Idle 的数据才会被回写,也就是说,如果当前 ZRAM没被标记为 Idle 的数据,那么就算内存炸了也没有数据被回写。这在一定程度上可以解释为什么内存拓展对无规律突发性打开大量 APP 基本无效,因为系统不知道哪些数据可以回写,这情况下回写基本就是个摆设。

总结:

1.开启内存拓展可能会增加功耗和影响硬盘寿命,内存配置8G以上或软件安装少,内存需求低的用户建议关闭,可以提升续航和减少硬盘消耗

3.内存4-8G或软件安装多,内存需求大的用户建议开启内存拓展,可以提升使用流畅度和应用后台驻留能力


相关推荐

网站内容来自网络,如有侵权请联系我们,立即删除!
Copyright © 手机网