Android swap分区做用及swapper软件设置方法

最近折腾 android系统比较多,也有了些心的,故有了这篇文章。
  android的swap分区与linux相同,都是用于数据交换的,相似于windows上的虚拟内存。合理设置swap能提高系统的速度,下降系统因内存不足而关闭后台程序的频率。但若是设置不当,反而会拖慢系统速度,影响使用体验。

  本文就从android内存管理机制出发,介绍合理设置swap的方法。因为本人并非开发者,对android的内存管理机制的理解可能有误差的地方,欢迎指证,废话很少,lets go。

  1、android的内存管理机制

  咱们知道android的程序都是没有关闭键的,全部大部分程序推出后仍是有一部分数据驻留在内存里。但内存不可能无限大,打开程序一多,又都不彻底退出,时间一长,再大的内存也是不够用的,更况且hero的可用内存仅192mb(总内存288mb,96mb被radio占用,另外的192mb系统可用),去掉os占掉的部分,真正可得到的内存不到140mb,随便用用,内存就耗完了。

  当系统内存不足时内存管理机制就开始起做用了,会在程序列表里选择长时间空闲的程序予以关闭,以保证系统的运行速度。这种机制在大部分时间里都运行得不错。但有些比较让人恼火的地方在于,并非全部的程序被关闭时都保存现场的,好比浏览器。

  在最坏的状况里,你正在浏览器里更新你的博客,这时忽然来了个电话,打完电话后你发现浏览器由于内存不足而被强制关闭了,当你再打开浏览器时,赫然出现的是浏览器主页的时候,那真是叫每天不该,叫地地不灵了。固然这种状况不会常常发生,即使发生了有时你的损失也仅仅是那些打开的标签页,但这种问题是切实存在的。

  2、什么是swap?swap有什么用?

  前文说道,swap分区相似于windows的虚拟内存,是将sd卡上的空间做为系统内存的补充。它的优缺点也跟虚拟内存相似,可让系统同时运行不少的程序或者对内存需求更大的程序,但读写的速度大大低于物理内存。

  因为sd卡的速度较慢,在卡内的swap主要做用是创建一个交换空间,当有较大内存需求的软件(如电话、相机等)忽然运行时,能够将后台程序先暂存在swap分区里,待该软件使用完毕,内存又有空余的时候,再将swap内的程序数据转到内存里,以下降程序被关闭的可能。

  有一点须要注意的是,开启 甲状腺后,并非说程序不会被关闭了,而是说被关闭的概率变小了。

  3、给sd卡分区

  使用swap的花须要给sd卡分区,1.5.2的RA Recovery就自带给sd卡分区的功能,直接选择Partition sdcard,并一路按home便可。



  recovery主界面,选择Partition sdcard便可对sd卡进行分区



  在子菜单里,选择Partiton SD即开始对SD卡分区操做

  第一个32mb是设置swap分区大小,第二个512mb是设置ext分区的大小,用做app2sd。



  第一个Swap-size的大小即Swap分区的大小。使用轨迹球上下滚动便可调节分区大小。设置为0即不分此分区。通常使用默认便可。



  第二个Ext2-size即ext分区的大小,用来将程序装在卡上,也能够用轨迹球上下滚动调节大小,通常也是默认便可

  分区完成后,选择ext2 to ext3升级拉的文件系统,以加快卡的读取速度。



  注意不要升级到ext4分区,1.5.2的recovery对ext4的支持很差,会致使 手机没法经过nand备份和恢复系统,因此只要升级到ext3便可

  升级结束后,选择reboot system now重启系统便可。

  4、swapper软件的使用

  要开始使用swap分区的话,须要先下载swapper软件,在电子市场里直接有下载,免费的,直接搜索便可。

  Swapper软件图标



  swapper软件除了能够开启使用swap分区外,还能在卡上创建swap文件,方便sd卡没分区的用户使用。但因为在卡内使用swap时,每次链接电脑加载sd卡后,再次取消加载就会显示sd卡损坏,必须重启才能恢复,较为麻烦,因此仍是建议使用swap分区。

  swapper默认使用卡内swap须要在设置,高级设置里勾选使用swap分区。选中后返回swap的主界面,选择打开swap便可。至此,你已经成功创建并开始了swap。



  swapper软件的主界面,因为默认不是使用swap分区,故点击设置进行更改



  点击设置后会出现Swapper的首选项界面,点击高级选项



  在高级设置里,勾选“使用SWAP”分区,便可开启SD卡里的SWAP分区的使用



  回到主界面,点击Swap ON,出现All done后,便可开启swap分区



  点击获取信息,即出现了Swap分区和内存使用状况的信息,这里看到swap分区总大小32MB

  后记

  swap分区不宜过大,由于sd卡的读取速度实在太慢,设置太大的话,会有太多数据滞留在卡内,拖慢慢系统速度。笔者曾经就设置过288mb的swap,应用程序 甲状腺是不多关闭了,但使用时间一长,会致使机器卡到彻底没法操做,由于太多数据滞留在SD卡里,SD卡的读卡速度是系统的最大瓶颈,这时必须手动关闭程序释放内存才能正常使用,这样就得不偿失了,因此你们仍是要按照本身的使用需求,合理设置swap大小和swappness的数值。
相关文章
相关标签/搜索