[Android] 描画パフォーマンス改善(目指せ60FPS)

こちらを参考。

https://maku77.github.io/p/bn8q8o6/

GPUオーバードロー領域を表示/非表示

adb shell setprop debug.hwui.overdraw show
adb shell setprop debug.hwui.overdraw false

GPUレンダリングバーを表示/非表示(一番上のオレンジ色がonDrawの時間で一番下の緑色がUIスレッド止めてる時間か?)

adb shell setprop debug.hwui.profile visual_bars
adb shell setprop debug.hwui.profile false

force-stopしてアプリを再起動しないと上手く反映されないから注意。

Android StudioProfilterタブ>アプリのプロセス指定>CPU選択>下のSelect CPU Profiing modeからTrace System Callsを選択>Record押下>Stop押下>しばらく待つとグラフが画面上に表示される

Framesに注目。赤色が1Frameで16msecで処理が終わらなかったことを意味して、青色が16msecを達成している。その下にThreadsという項目があり、そこの該当するパッケージ名を見るとどのメソッドにどれぐらい時間がかかったかわかる。