2011 年 10 月 のアーカイブ

ChaCha のメモリ節約術

2011 年 10 月 24 日 月曜日

ChaChaの欠点は内部ストレージが150MBしかないことです。
調子に乗って、アプリをどんどんインストールすると、すぐにメモリ不足になります。
厳選して、本当に必要なアプリだけに絞り込んでも、やはりメモリが足りないのです。

そこで今回は、試行錯誤の末、10MBほどメモリを節約出来る裏ワザを発見しましたのでご紹介します。
この裏ワザは、S-OFFしてrootが取れている事が前提です。

ChaChaの内部ストレージは /data 以下の領域です、この領域を消費するものには、後から追加したアプリ本体や、そのアプリが使用するデータ、そして dalvk で使用する cache された dexファイルなどがあります。
Palmで例えれば、この内部ストレージはRAMと考えて頂いてOKです。

それに対しPalmで言うところのROMは /system 以下の領域になります。
この領域の /system/app 以下には、プリインストール済みのアプリが入っています。

2011-10-24_04-38-56

それでは /system/app 以下のファイルを見てください、拡張子が .apk のものと .odex のファイルが有りますね、更によく見ると、例えば Browser.apk と Browser.odex のように、ひとつのアプリが .apk と .odex の2つのペアになっているものと、youtube.apk のように .apk しかないものが有ります。

後者の .apk しかないアプリを抜き出してみると

maps.apk
gmail.apk
youtube.apk
facebook.apk
voicesearch.apk

などがあります。

今回の裏ワザは、これら .apk しかないアプリを .apk と .odex に分解する事により、dalvk で使用する cache された dexファイルの容量を小さくし、結果、内部ストレージ領域を空けてやろうという、回りくどいテクニックです。
↑意味わかります?

◆作業手順

.apk の作り方
(1) 例えば youtube.apk を youtube.zip にリネーム
(2) 解凍して classes.dex を削除します
(3) 再度 zip で固めた後 youtube.apk にリネーム
以上で .apk は出来上がり

.odex の作り方
(1) /data/dalvk-cache フォルダからdexファイルを持ってきます
(2) 例えば youtube アプリなら system@app@com.google.android.youtube.apk@classes.dex とかいう名前になっています
(3) このファイルを youtube.odex にリネーム
以上で .odex も出来上がり

後は、この2つのファイルを /system/app へコピーして、マシンを再起動すれば完了です。
再起動後、内部ストレージの容量を確認してみてください。

2011-10-24_04-40-24

今回の裏ワザで得られる空き容量は、たかだが10MBですが、自分が必要なアプリが入るか入らないかの10MBは大きいですよ。
そんなわけで、今のところ、これだけの空き容量を確保しています。