方法二:Swapper2。
这是网上最流行的方法,与方法一不同的是,Swapper2可以通过在SD卡上建立SWAP分区(linux的一种分区格式)的方式使用虚拟内存,效率会比单纯在SD上建立SWAP文件高,BUG较方法一少,但是分区步骤繁琐,不易成功。
既然说了这个APP,就有必要顺带提一下在安卓市场可以下载到的另一个虚拟内存APP:虚拟内存(VMHEAP)2.2(下载地址),这个APP需要S-OFF,原理与Swapper2一样,不方便、不解释、不多说。
方法三:在手机内置储存空间中建立swap文件。
该方法的优点显而易见,建立在内置储存中就是快!但是受限于旧手机的内置储存剩余空间本来就小,所以swap文件一般只能设置30-40M左右,效果一般,但是比没有好。
需要工具:1、swap脚本;2、RE管理器(2.3.6可用);3、超级终端(也可以联机用ADB代替);4、busybox(建议山寨机用户先装busybox)工具集下载地址
操作方法:
1、安装busybox,安装apk后还要点击APP图标运行安装一次;
2、设置虚拟内存开机自启:
(说明:如果不想开机启动则可以跳过这步,将这个步骤提前是因为老机子建立虚拟内存文件后可能内置空间已经不足,此时安卓系统会阻止任何APP安装进内置空间,因此会影响autostart.apk的安装。)
(说明2:如果系统已经提示“空间不足”,可以通过安卓超级终端的命令安装,需要先用RE将autostart.apk拷贝到系统根目录下。)
超级终端中安装apk的命令如下:
$ su //获取su权限
# cp autostart.apk /data/app //安装根目录下的autostart.apk
正常设置虚拟内存开机自启步骤:
安装autostart.apk至手机内存(下次开机时赋ROOT权限,要注意及时点击“允许”,否则就再重启一次)。用RE管理器在手机/DATA目录下创建opt文件夹,将autostart.sh复制进去,并增加可读+可执行的权限。
autostart.sh的脚本如下:
losetup /dev/block/loop7 /data/swapfile.img; //虚拟循环设备为区块设备
mkswap /dev/block/loop7; //设置swap交换区
swapon /dev/block/loop7; //开启交换区
2、用RE管理器将swap建立脚本:buildswap.sh拷贝到手机内置/SYSTEM目录下,并用RE增加这个文件的“可执行”权限;
3、在RE中执行buildswap.sh,用于在手机内置/DATA中映射一个可读写目录,并建立swap虚拟内存镜像文件swapfile.img;
buildswap.sh的脚本如下:
mount -o remount,rw /data;//映射可读写目录
swapoff /dev/block/loop7;//关闭系统交换分区
dd if=/dev/zero of=/data/swapfile.img bs=1024 count=32768;//拷贝一个块文件生成虚拟内存文件,目标是swapfile.img,设置一次读入/输出块大小为1024kb,设置总大小为32768kb(可以随时更改,更改后重新执行即可。如改为48M,即是:48*1024=49152,count=49152)
free;//显示当前系统内存使用情况
4、此时如果要开启虚拟内存测试效果,可以直接执行autostart.sh,不影响开机自启。
5、想查看效果可以运行超级终端,输入free回车(查看内存使用情况),如swap一栏不全为0,则说明虚拟内存设置成功。如果全为0,则重新执行步骤3-4。若依旧为0则可能手机ROM不支持虚拟内存(从目前的测试看,尚未遇到这种情况)。
$ free//查看内存使用情况
综合三种方法:方法一简单,速度虽然不佳,但不受内置空间限制,可以最大设置到256M,持久性好;方法二繁琐,不推荐,只作为一种不同的技术在本文中说明;方法三简单易行,速度快,唯一的缺点是虚拟内存大小受限于本身就是宽裕的老手机内置储存空间,虚拟内存效果会伴随开机时间而变差,达不到非常好的效果。
======================================================我是分隔线=================================================================
经过一段时间的测试,更新一下本文的结论:
方法一最大的不便就是开机不能自启,太麻烦,依然不推荐;
方法二(Swapper2),关键在于在SD卡中格式化出一个Linux swap分区,如果想要把APP都装进SD卡,也可以再格一个EXT3分区,则装APP的时候需要使用SD LINK这个软件。(APP装在EXT3分区中并没有速度上的明显提升)
方法二可以实现自启,效果和方法一一致,唯一的问题是长时间使用(中间不重启手机)后,驻swap分区中的APP会出现异常,需求手动重启手机或APP。
方法三受限于机身内置空间太小,发挥不出应有的效果,反而达不到最初的需求,经过测试,最终不推荐该方法,推荐方法二。