今回のネタ元はこちら。元の元はXDAだそうです。
New (very fast) lag fix using internal memory and playlogo1 hack – Android @ MoDaCo
最初はdbdataに/data/dataを逃がすことで高速化してたんですが、なにせ130MBほどしか空きがないのでいっぱいになっちゃったら困っちゃう。
次のは外部SDをパーティション分けして対応カーネル入れてどうのこうのしたんですが、空きは任意のサイズに出来るのですが、対応カーネルを入れないと使えないのが面倒なのでちょっと気に入らない。
そして今回。
簡単に言えば、1GBの空っぽなファイルを /data/dataimg に作って、それをディスクイメージとして認識させ(ループバック・デバイスって言うんですって) ext2でフォーマット。その仮想ディスクをマウントして /data/data と /data/dalvik-cache を逃がすようです。基本的にrootedすれば(busyboxが入っていれば)できるのでお手軽。お手軽なのに効果は絶大!
ということで、実行した結果が冒頭の画像です。まあ、所詮ベンチマークですからどういう根拠で数字を作っているのか等々で参考程度にしておくとして。体感は初期状態から比較してかなり高速化しています。例によってsimejiで日本語を入力してみても引っ掛かりはほぼ有りません。なんということでしょう。
元のファイルシステムはなんてダメな子。
さて、空のファイルを作ったりマウントしたりフォーマットしたりいろいろ手続きが増えて新しいROMをodin3で焼くたびにするのが面倒なのでrootedする為に実行するupdate.zipに混ぜてしまおうというのが今回の目玉。
http://blog.8796.jp/8796kanri/files/2010/08/update_galaxys_fix.zip
基本的にはもっと簡単rootedと同じですが、例によってadbとか使いこなせて中身を見て理解できる人以外はやらない方が幸せかもしれません。今のところodin3で焼き直せばやり直しが容易なのでチャレンジするのも良いかもしれませんが、あくまでも自己責任でお願いします。
注意!起動時のスクリプトで初回に /data/data を逃がす処理とかをしていますが、他の高速化を行っている場合は多分失敗して困り果てることになると思いますので、標準環境に戻してからお試しください。
前回同様日本語フォントとapnとbusyboxが入ってますので、これ1個で概ね完了します。
update.zipの適用法についてはもっと簡単rootedを参照してくださいな。
しかしながら、Galaxy Sの標準リカバリモードはupdate.zipでプログラムを実行(run_program)できなかったので、update.zip適用後にコマンドを入力する必要があります。
- adb shell
- su (初回実行時にはSuperuser Permissionsの確認があります)
- /system/bin/lagfix1st.sh (実行後数分したら勝手に再起動します)
こんだけ。lagfix1st.shはエラー処理とかしてなくて2度実行すると残念なことになるので終わったら削除しておいたほうがいいかもしれません。
今回実験したのはI9000XWJM5ですが、froyoのヤツでなければこれ以外でもいけると思います。
いやはや快適。これだけ手軽に改善できるのになぜそのファイルシステムにこだわるのか!!ワザとか。イヤガラセか!!って気もします。docomo版はどうなりますかねー
8/15追記
/data/system とか /data/app とか移動するとさらに快適になるようです。/system/bin/userinit.sh に適当に追記するんですが、update.zipの更新はまた時間のあるときにー
閑話休題。
rep2 unpush版でiphoneモードが完璧に動くGalaxy Sの標準ブラウザは得難い存在なのでメインがNexus Oneからこちらに変わりつつあったりなかったり。6月ぐらいから巻き添え規制中で2chは見るだけ専門だけどw