android 创建虚拟内存,在 Android 的 /data 目录下添加虚拟内存
在 Android 的 /data 目錄下添加虛擬內(nèi)存
Android 系統(tǒng)上添加虛擬內(nèi)存已經(jīng)不是什么新鮮事了, 很多手機(jī)都支持, 通常都是將虛擬內(nèi)存添加到 SD 卡上, 不過由于 SD 卡的的讀寫速度有速度限制, 再加上如果不是用高速的 SD 卡的話, 將虛擬內(nèi)存添加到 SD 卡上的效果就不是很明顯了, 其實(shí)還有一個(gè)地方可以添加虛擬內(nèi)存, 那就是 /data 目錄。 為什么把虛擬內(nèi)存添加到 /data 目錄呢, 原因如下:
1、 /data 目錄有足夠的的剩余空間容納虛擬內(nèi)存
幾乎所有的 Android 手機(jī)都支持 App2SD 或者 App2Ext , 將應(yīng)用安裝到 SD 卡之后, /data 目錄剩余的空間比較大, 是足以容納下虛擬內(nèi)存需要的空間。
2、 存取速度比 SD 卡要快
/data 目錄使用手機(jī)內(nèi)部的 flash 存儲(chǔ)器, 內(nèi)置存儲(chǔ)比外加的 SD 卡品質(zhì)要好很多, 讀寫速度也比 SD 卡要快很多。
鑒于以上的兩個(gè)優(yōu)點(diǎn), 將虛擬內(nèi)存添加到 /data 目錄應(yīng)該是首選, 以我手上的 Moto Milestone 為例, 由于手機(jī)很舊, 只有 256 內(nèi)存, 如果想運(yùn)行最新的 CM9 或者 CM10 的話, 內(nèi)存明顯緊張, 好在最新版的 CM10 安裝之后將很多系統(tǒng)文件都移動(dòng)到了 /sd-ext 分區(qū), /data 目錄下剩余空間達(dá) 160M 多, 因此可以考慮在 /data 目錄下添加 64M 的虛擬內(nèi)存。
原來在 /sd-ext 分區(qū)啟用虛擬內(nèi)存的腳本為:
#!/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 文件的話, 就將它掛載為虛擬內(nèi)存。 現(xiàn)在就將 swap.swp 文件復(fù)制到 /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;
運(yùn)行發(fā)現(xiàn)不能掛載虛擬內(nèi)存, 得到的提示是:
swapon: /data/swap.swp: Invalid argument
看來不能按照原來的方式添加虛擬內(nèi)存, 經(jīng)過一番搜索, 在 xda 論壇上找到了解決方法, 就是將 swap.swp 文件模擬成一個(gè)設(shè)備, 然后將這個(gè)設(shè)備掛載為虛擬內(nèi)存, 最終掛載虛擬內(nèi)存的腳本如下:
#!/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;
將這個(gè)腳本復(fù)制到 /data/local/userinit.d 目錄或者保存為 /data/local/userinit.sh , 重啟手機(jī)就可以自動(dòng)掛載虛擬內(nèi)存了。
總結(jié)
以上是生活随笔為你收集整理的android 创建虚拟内存,在 Android 的 /data 目录下添加虚拟内存的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html滚动菜单置顶,javascrip
- 下一篇: 沃流量 android,沃流量管家的身世