Androidの意外と知られていないツールlayoutopt
AndroidのSDKにはいろんなツール類が付属されていますが、Androidのレイアウトxmlファイルの最適化を検証するlayoutoptについては、意外に使っていない人が多かったので紹介します。以下のAndroid Developerのページにも説明があります。
Layoutの最適化はパフォーマンスに直結するのでとても大事です。
- 不必要なLayoutを使うことはさける
- 大量のViewをつかうことはさける(View80個が目安)
- 階層が深くなりすぎることをさける(10階層ぐらいが目安)
最適化すべき箇所を指摘してくれるツールが、layoutoptです。layoutopt自体はSDKのホームディレクトリの下のtoolsフォルダに入ってます。使い方はターミナルから、以下のように実行します。
layoutopt <file_or_directory> ...
例として、とあるプロジェクトで実行してみました。
$ cd sample_project_home $ layoutopt ./res/layout* ./res/layout/note_edit.xml 31:31 Use an android:layout_width of 0dip instead of wrap_content for better performance 40:40 Use an android:layout_height of 0dip instead of wrap_content for better performance ./res/layout/notepad.xml ./res/layout-port/notepad.xml $
ここではnote_edit.xmlの31行目のandroid:layout_widthと40行目のandroid:layout_heightの設定値を、"wrap_content"から"0dip"に変更した方がパフォーマンス的によいよ!と教えてくれてます。ちょう便利!
@zaki50さんのブログ記事みて、最適化考えるの超めんどくさいと思った人は多用するといいとおもいました。