android 创建虚拟内存,在 Android 的 /data 目录下添加虚拟内存
在 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
if [ -e /sd-ext/swap.swp ];
then
busybox swapon /sd-ext/swap.swp
fi;
腳本很簡單, 檢查一下如果 /sd-ext 目錄下存在 swap.swp 文件的話, 就將它掛載為虛擬內存。 現在就將 swap.swp 文件復制到 /data 目錄下, 并將腳本修改為:
#!/system/bin/sh
# turn swap if it file exists /data/swap.swp
if [ -e /data/swap.swp ];
then
busybox swapon /data/swap.swp
fi;
運行發現不能掛載虛擬內存, 得到的提示是:
swapon: /data/swap.swp: Invalid argument
看來不能按照原來的方式添加虛擬內存, 經過一番搜索, 在 xda 論壇上找到了解決方法, 就是將 swap.swp 文件模擬成一個設備, 然后將這個設備掛載為虛擬內存, 最終掛載虛擬內存的腳本如下:
#!/system/bin/sh
# turn swap if it file exists /data/swap.swp
if [ -e /data/swap.swp ];
then
losetup /dev/block/loop0 /data/swap.swp
busybox swapon /dev/block/loop0
fi;
將這個腳本復制到 /data/local/userinit.d 目錄或者保存為 /data/local/userinit.sh , 重啟手機就可以自動掛載虛擬內存了。
總結
以上是生活随笔為你收集整理的android 创建虚拟内存,在 Android 的 /data 目录下添加虚拟内存的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html滚动菜单置顶,javascrip
- 下一篇: 沃流量 android,沃流量管家的身世