在 Android 的 /data 目录下添加虚拟内存
Android 系统上添加虚拟内存已经不是什么新鲜事了, 很多手机都支持, 通常都是将虚拟内存添加到 SD 卡上, 不过由于 SD 卡的的读写速度有速度限制, 再加上如果不是用高速的 SD 卡的话, 将虚拟内存添加到 SD 卡上的效果就不是很明显了, 其实还有一个地方可以添加虚拟内存, 那就是 /data 目录。 为什么把虚拟内存添加到 /data 目录呢, 原因如下:
1、 /data 目录有足够的的剩余空间容纳虚拟内存
几乎所有的 Android 手机都支持 App2SD 或者 App2Ext , 将应用安装到 SD 卡之后, /data 目录剩余的空间比较大, 是足以容纳下虚拟内存需要的空间。
2、 存取速度比 SD 卡要快
/data 目录使用手机内部的 flash 存储器, 内置存储比外加的 SD 卡品质要好很多, 读写速度也比 SD 卡要快很多。
鉴于以上的两个优点, 将虚拟内存添加到 /data 目录应该是首选, 以我手上的 Moto Milestone 为例, 由于手机很旧, 只有 256 内存, 如果想运行最新的 CM9 或者 CM10 的话, 内存明显紧张, 好在最新版的 CM10 安装之后将很多系统文件都移动到了 /sd-ext 分区, /data 目录下剩余空间达 160M 多, 因此可以考虑在 /data 目录下添加 64M 的虚拟内存。
原来在 /sd-ext 分区启用虚拟内存的脚本为:
#!/system/bin/sh
# turn swap if it file exists /sd-ext/swap.swp