・
[Android] 関係の記事・
[Mobile] 関係の記事 さて、開発が一段楽したので、Androdiの開発についてや、TIPSについて書いていこうと思います。
まずは簡単な辺りから。Androdi Dev Phone付属のブラウザのキャッシュの削除の仕方です。
Android Dev Phoneには、付属でブラウザが付いています。これは、Toolkitをベースにしたブラウザで、Googleの出しているブラウザ「Google Chrome」の携帯版的なものです。
通常のブラウジングだけでなく、CSSもJavaScriptも対応しています。タブブラウザ的に、ウィンドウを切り替えることもできます。携帯電話向けのブラウザとしてはかなりリッチなものです。
しかし、このブラウザを使っていると、次第に問題が出てきます。どこを探しても、キャッシュを消すボタンがないのです。私が見つけきらないだけかもしれませんが、全く見つかりません。
では、なぜそのことが問題になるのか?
Android Dev Phoneでは、データの保存領域は二箇所あります。ひとつは本体の保存領域。もうひとつはSDカードです。この本体の保存領域ですが、実はかなり少ないです。
本体の保存領域には、ダウンロードしたアプリケーションと、そのデータが保存されます。このサイズですが、正確な数字は分からないのですが、合計して32MB程度しかないようです(もうちょっとあるかもしれませんが)。
正確な数字が分からないのは、1MBを超えたソフトは、端数切り上げで表示されるからです。たとえば、1.3MBのソフトなら、2MBと表示されます。
そしてそういった容量の中で、非常によく使うブラウザが、気付くと11MBなどといったサイズになっています。これは困る。さすがに何とかしないといけません。
こういった容量のデータは、以下の方法で見ることができます。
● 残量
[MENU]→[Settings]→[SD Caed & phone storage]の「Available space」
● 各アプリの容量
[MENU]→[Settings]→[Application settings]→[Manage applications]を選択してしばらく待つ。
画面が表示されたら、[MENU]→[Sort by size(descending)]を選択。
容量を食っているアプリから順に表示される。
最初は前述の「Manage applications」から「Browser」を選択して「Clear data」ボタンを押して、ブラウザのデータを消していました。
でも、これだとブックマークなども削除されていしまいます。これは困る。
というわけで、AndroidはLinuxなので、中に入って直接キャッシュを削除するようにしました。結果、11MB→2MBと、容量が一気に軽くなりました。目的達成です。
というわけで、以下、手順です。
Android Dev PhoneをUSBケーブルでPCに接続する。
PCでコマンドプロンプトを立ち上げる。以下のように入力する。
adb shell
su
cd data/data/com.android.browser
ls -l -R
rm ./cache/webviewCache/*
rm ./app_thumbnails/*
rm ./databases/webviewCache.db
ls -l -R
exit
exit
バッチファイルを作る場合は、以下のような記述でよいでしょう。
adb shell
su
cd data/data/com.android.browser
rm ./cache/webviewCache/*
rm ./app_thumbnails/*
rm ./databases/webviewCache.db
各行の説明です。
□ adb shell
Androdiでの開発を始めている場合は、「adb」はおなじみのコマンドだと思います。「adb(adb.exe)」には、PCからAndroidを操作するための各種命令が用意されています。
「shell」コマンドは、OSに入って各種操作を行うためのコマンドです。
というわけで、まずはこの行で、Andoidのファイルに外部からアクセスできるようにします。
□ su
Linux系の人にはおなじみのコマンドです。意味はsuper userになります。パスワードは必要ありません。「su」と入力するだけでSuper Userに昇格して、各種ファイル操作ができるようになります。
□ cd data/data/com.android.browser
「cd」はchange directoryです。これもおなじみです。WindowsでしょっちゅうDOSを叩いている人にもおなじみのコマンドです。
というわけで、アンドロイドのブラウザのパスまで移動します。
□ ls -l -R
「ls」はlistですね。後ろに付いているのは、表示オプションです。
この行で、どういったファイルがあり、どのファイルがどれだけ容量を食っているかを確認します。いろいろなキャッシュが作成され、保存されているのが分かります。
しかし、このファイルの合計値だけでは11MBにもなりません。そこには、ある理由があります。それは後述します。
□ rm ./cache/webviewCache/*
□ rm ./app_thumbnails/*
□ rm ./databases/webviewCache.db
「rm」はremoveです。削除コマンドです。
キャッシュっぽいものは全部削除してしまいましょう。特に問題は起きないので大丈夫でした(一応自己責任でお願いします)。
これで、Android Dev Phoneが軽くなります。
さて、先ほど少し書いたことの続きを書きます。
キャッシュの合計値だけでは11MBにもならない理由です。
そういったことになるのは、ファイルシステムが関係しています。
Androidのファイルシステムでは、Windowsなどのファイルシステムと同じように、ファイルがクラスタという箱に分割されて保存されています(たぶん)。
そのため、実際のファイルサイズよりも、「ディスク上のサイズ」が大きくなっています。
これは、Windowsで、「サイズ」と「ディスク上のサイズ」が大きく違うのと同じです。
私が開発中に経験したところでは、合計9KBしかないファイルが、Android上では240KBぐらいになっていました。ファイルの数が多かったということもあるのですが、これはかなり大きくなり過ぎだと思います。
というわけで、Android上では、ファイルは実際よりもかなり大きな容量を食います。
なので、こういったTIPSを知っていると役に立ちます。というわけで、文章にまとめておきました。
2009.04.02 追記)ブラウザをいじっていたら、メニューのスクロールの下の方にキャッシュのクリアが見つかりました。でもまあ、バッチファイル一発でキャッシュをクリアできるし、他のアプリにも応用が利く方法なので、このTIPSはそのまま残しておきます。