您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 安卓手机-使用分区实现虚拟内存 来增加RAM和ROM
安卓手机使用分区实现虚拟内存来增加RAM和ROM●注:此教程需要内核版本为2.6.32.9-perf,其他版本慎重。为什么要对存储卡进行分区?我举个最简单的例子,当Neo同时运行QQ、UC、OperaMini、飞信、人人、Labyrinth、Twidroid、iReader的时候、切换任务往往都会出现某个程序掉线、或者强制关闭的情况。(当然没有谁在平时使用的时候开这么多进程,不过分区后对单独的程序流畅感觉是有提升的。)如果通过Linux-Swap(交换)主分区来实现虚拟RAM的话,同时运行这些东西的时候完全不会出现某程序掉线或者强制关闭的情况。如果有兴趣的话可以自己先试试,同时打开UC8、QQ、微博、天天动听、愤怒的小鸟、切水果,然后切换任务。APP2SD的工作原理:以8G的TF卡做比方、将8G的卡分成3个分区。这三个分区是:1、Fat32主分区:普通的存储卡空间、用于文件存储等。2、Ext3主分区:用于AppToSD、即将应用程序安装到存储卡而、非手机存储,ROM自动完成。目前Ext3主分区Neo测试不成功、能分区。但问题是分出来的Ext3无法在手机上用超级终端识别,不知道其他朋友有没有说明办法解决。3、Linux-Swap(交换)主分区:用于解决Neo系统内存不足的问题,系统自动调用此分区、存储卡分区的次序与分区大小存储卡按照次序的三个分区:FAT32主分区、EXT3主分区、LINUX-SWAP(交换)主分区、举例的分区大小:LINUX-SWAP(交换):96M一般不要超过这个数值,EXT3:500M,FAT32:剩下所有存储卡内空间。一定要注意先分区FAT32,不过原本已经分好了FAT32了,直接跳过这步。再分区EXT3、最后分区LINUX-SWAP(交换)问题出现:怎样最先确定FAT32分区的大小?很简单从系统里看看你SDCARD的空间,减去500MEXT3空间,再减去96MLINUX-SWAP的大小就好。例如8G卡实际容量若为7.59G,那么FAT32分区大小为7590-500-96=6994M分区大小即可。还有一个细节、使用分区软件进行分区操作的时候,分区大小可能不会正好是上述数值,或者出现小数都是没关系的。教程:一、为TF卡创建swap分区(适合没swap分区的同学)1、用读卡器插上你的TF卡,记住是读卡器。2、装好AcronisDiskDirectorSuite第一次打开时,软件会提示你选择模式,随便选择哪个都行,我选的是【手动模式】。3、点击软件左上方的【创建分区】。4、选择你的TF卡,点击【下一步】。5、设置你要创建分区的大小,点击【下一步】,这一步是创建分区EXT3,所以选择500M左右。如果不想分区EXT3的直接到第10步,【目前EXT3在手机终端无法识别,所以可不分EXT3分区。】6、选择分区的类型,这里选择主分区,点击【下一步】。7、选择分区文件系统类型,这里选择【EXT3】,点击【下一步】。8、设置创建分区的托盘号【选择不谢谢,我不想赋予一个盘符】,【下一步】。如有这一步,忽略【下一步】。9、预览重新分区后每个分区的大小,点击【完成】。如果不需要创建LINUX-SWAP(交换)分区,完成第9步后直接跳到18步。10、继续【创建分区】,从这里开始是创建LINUX-SWAP(交换)分区。11、选择需要分区的TF卡。12、选择被分区的主体。图中第二个500M左右的那个事上面Ext3分出来的容量。我这里我们选择FAT32进行分区。13、设置你要创建分区的大小,点击【下一步】。14、选择分区的类型,这里选择主分区,点击【下一步】。15、选择分区文件系统类型,这里选择【Linux交换】,点击【下一步】。16、设置创建分区的托盘号,【选择不谢谢,我不想赋予一个盘符】,【下一步】。17、预览重新分区后每个分区的大小,点击【完成】。完成后如图17的右下角。18、点击软件左上方的旗子,也就是【提交】执行命。19、预览命令列表,点击【继续】。下面就开始分区了,等大概需要几分钟时间。出现如图下的再等等。不是卡死了,而是在同步数据所以不必担心。20、过了好一会儿,软件提示分区成功!点击【确定】。21、关闭AcronisDiskDirectorSuite、提示【重启】,【点击Yes】。注意这时先别着急拨出TF卡。22、重启完成后再次打开AcronisDiskDirectorSuite。23、选择【FAT32分区】,【右键】【高级→改变盘符】。24、命名你的盘符,随便哪个都可以。只要别和系统重复了,后点击【确定】。25、点击软件左上方的旗子,也就是【提交】执行命。26、预览命令列表,点击【继续】。27、这次操作简单,所以很快就完成了。28、现在拔掉你的TF卡,重新插上电脑。你会发现TF卡容量少了。说明分区成功了。下面是我的8GTF卡。同时分了Ext3和Linux交换分区。二:如何使用已创建的Linux交换分区呢?1.在手机端安装swapper2,打开Swapper【附件在论坛链接中】。2、点击你手机的菜单键,就是物理按键最右边那个,选择进入【Setting】。3、第一项不用打钩,第二项和第三项是Swapfile设置相关项不用理。4、第四项是设置使用Swap分区进行交换行为的程度,数值(0-100)越高,越可能发生磁盘交换swappness好像应该是swap分担的百分比。建议设置成60或者80。5、进入Advancedpreferences设置,里面三个都要打钩,然后选择第二个。路**设置为/dev/block/mmcblk1p26、返回到主界面,点击ON开启显示下图就说明成功了。7、配合自动内存管理,很不错。如果用的话,下载附件com.lim.android.automemman安装到手机上,打开设置成均衡,点应用即可。每次开机都要手动开启虚拟RAM。如果有用任务杀手或者其他管理进程的程序。记得把com.lim.android.automemman和swapper2设置成忽略列表去,否则,你手动杀进程的时候会把这2个进程给杀掉的。三、如何使用EXT3分区【目前NEO不可用、手机终端无法识别】将软件移动到SD卡,存储卡分区完成后我们只需要把系统默认的软件。安装目录/data/app转移到SD卡的Ext3分区上,然后通过ln命令建立软链接,使系统自动把软件安装到SD卡上,达到节省手机内存空间的目的。将存储卡装回手机,重新启动使系统识别到Ext3分区。在手机上运行超级终端,依次输入以下命令来验证系统是否识别了Ext3分区。su(会提示高级权限授权,选择“总是同意”)busyboxdf–h如果显示的列表中有/dev/block/mmcblk0p2的信息,说明系统已成功识别了Ext3分区。然后依次输入以下命令将/data/app目录转移到SD卡的Ext3分区:cp–a/data/app/system/sd/(将/data/app目录复制到/system/sd/下)rm–r/data/app(删除/data/app目录)ln–s/system/sd/app/data/app(建立软链接)Reboot(重启手机)重启之后,手机上安装的所有软件就全部转移到了SD卡上,看看你的手机可用空间是不是增大了。以后再安装软件也是直接安装到SD卡上,不用担心空间不足的问题了,而且这样做还有一个好处,刷新ROM后,以前安装过的软件并没有被清除,还保存在SD卡上,输入下列命令就可以轻松恢复,用再一一安装了,非常方便实用。su(取得高级权限)cd/data(进入/data目录)cp–aapp/system/sd/app(将app目录中的内容复制到/system/sd/app目录)rm–rapp(删除app目录)ln–s/system/sd/app/data/app(建立软链接)reboot(重新启动)扩容效果体验:刷新ROM后未安装任何软件,手机可用空间为87MB,安装若干软件后,可用空间下降为73MB。将软件目录转移到SD卡上后,可用空间变为80MB。可能有的“电筒”会有疑惑,为什么没恢复到87MB呢?这是因为我们只是将软件移动到了SD卡上,而软件的缓存数据仍然会占用手机内存,所以手机内存还是会下降。当然软件的缓存数据也可以移动到SD卡上,但这样会拖慢软件运行速度,所以不推荐大家使用。(本文来自机锋网)
本文标题:安卓手机-使用分区实现虚拟内存 来增加RAM和ROM
链接地址:https://www.777doc.com/doc-3349385 .html