2011年5月23日月曜日

Eclipse ProGuardで最適化

最近知ったのですが、Javaコンパイラは、Cと違って最適化をしてくれないそうです。
私が、C言語を使っていた20年前くらいでも最適化をしてくれていたのにJavaしてくれないそうです。
正確に言うと、最適化をしてくれてるみたいだけど まったく期待できない糞仕様らしいです。
じゃあ、コード段階で最適なコードを書けばいいって話ですが そうすると非常にだらだらと長くなったりと 考えるのが面倒なのでしたくありません。
そこで、最適化ツール『ProGuard』の出番です。
Javaの最適化が期待できないと知って、ProGuardって最適化ツールがあることは知ってたんですが コマンドラインから方法しかできないから面倒だなと思って手を付けておりませんでした。
しかし、android SDKのr8(android 2.3)から標準装備されていたんです!
EclipseのPackageExplorerでパッケージを展開すると、一番下にProguard.cfgなるものがありました。(毎日見ているのにまったく気がつかなかった)
だけどですね・・・勝手に作ってきているのに適応はされてません。
最適化された apkを作るには、default.propertiesの最後に

proguard.config=proguard.cfg

を書き加えて、後はいつも通りにakpを作れば ほらっ最適化された!!!というわけです。
あとは、proguardってフォルダが出来ているんで そいつをバージョン管理につっこんでやります。
(中身が、毎回上書きされるらしいんで)
詳しくは、proguardで検索して頂くと 他の人が詳しく書いてあるので呼んでください。

ちなみに、最適化するのはapkを作るときですので、通常のデバック時(Eclipseかのら実行)では最適化できてませんので お間違いなく。

ということで、今週は最適化したバージョンをマーケットにアップします。

0 件のコメント:

コメントを投稿