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的數值。
相關文章
相關標籤/搜索