刷完Android2.2後,手機內存不夠用,以致於無法安裝軟件,甚至提示短信無空間接收。即使將自己安裝的軟件全放SD卡後,仍然無法解決此問題。
按網上有些說法,將/system/app目錄下系統自帶的一些軟件刪除後,同樣無明顯效果。
研究後,發現Android將內存卡分成了幾個區,安裝程序,系統數據都會放在/data分區。此分區不夠用的話,將嚴重影響軟件安裝和使用。用超級終端df看了一下,發現其它分區空閒內存比較多,尤其是/cache分區。本想重新分區並安裝的,但工程浩大,對ARM分區和引導還不夠了解的情況下,還是有點困難的。
在網上搜索了一些相關知識,測試發現以下兩個方法很有效:a. 將/data/app移到/system/app; b.將/data/delvik-cache移到/cache目錄.
1、移動apk包到system/app
條件: 已經獲取root權限,安裝有re管理器
方法: 刪除系統預裝的軟件其實並不能騰出應用空間,因為系統預裝軟件在system/app下,而應用空間在data/app下,
這兩個目錄屬於android系統兩個不同的分區,就像windows C盤 D盤一樣,C盤刪除了垃圾,並不能使D盤空間加大。
精簡預裝軟件以後,我的system空間還有60m,用re管理器把data/app下的一些經常用到的不會卸載的軟件的apk文件
挪到system/app下以後, 我的data空間達到了70m。
注意:re操作要小心。挪過去以後,桌面上的圖標會消失,重啟以後再重新添加即可。還有就是system空間最好剩10m左右,防止出問題。
要是想卸載挪到system/app下的軟件,最好是挪回data/app下再卸載。
ps:如果re管理器移動apk文件不行,試試用複製文件,複製成功回data/app目錄看看,如果還有就刪掉
2、移動/data/dalvik-cache目錄到/cache
/data/dalvik-cache目錄下存放著android的程序運行優化文件,我的大概有35m左右,
放在data下占地方,而/cache下有60多m空間卻空著.
實現方法稍有點複雜:
1、已經獲取root權限,安裝有re管理器
2、已安裝busybox,沒有的話在android市場裡搜索安裝
3、國外已經有高手,寫了一個dalvik-cache.zip的升級包,主要內容就是一個腳本,在系統每次啟動時,調用busybox在/cache下創建delvik-cache的功能。可以直接用卡刷刷到系統中。(有root權限,手動複製到系統中也行)
4、上面的dalvik-cache.zip是將腳本放在/system/sd/userinit.sh當中,但並不是所有android發行版都有調用這個腳本。查了一下根目錄下的init.rc,發現會調用/system/etc/install-recovery.sh,將上面安裝的userinit.sh移動到此,重啟即可。
當然,還有一個常用的方法是將應用程序安裝在sd卡中,這個在2.2已默認支持此功能。之前版本需要手工改造。