Android SDKに含まれるHierarchyViewerでviewの構造を見れるみたい。各viewの親子関係とかプロパティの値とか。viewが現れないときはこれでviewが生成されているか、width/heightが正しく設定されているか、とかを見ながらデバッグできるっぽい。単体でも起動できるけどEclipseのパースペクティブに統合されているのでそちらから使うのがよさそうだ。
さて便利そうなツールではあるが、しかし!HierarchyViewerそのままだと実行できない。どうやらコードに手を加える必要があるようだ。
やりかたは以下にあるとおり、ViewServerを自分で設定する(as of Android SDK r21)。
HierarchyViewer - Unable to debug device
この ViewServer project からViewServer.javaをとってきてプロジェクトに加える。同じディレクトリにあるViewServerActivity.javaはデモなのでプロジェクトごとcloneして試してみるのもいいかもしれない。
さて表示してみるとあれこれ見れる。図はデベロッパーサイトより。
緑だったり黄色だったりする◯はレンダリングに掛かった時間を示すもので、UIのパフォーマンスチューニングに使うためのものみたい。左から「測定 (measure)」、「レイアウト (layout)」、「描画 (draw)」で、他のviewのレンダリングと比較して相対的に時間がかかっていると黄色くなったり赤くなったりする。