AndroidのCPUリソースやメモリリソースを可視化するために、以下のような簡単なライブラリを作りました。
すみません。Java系ではなくRubyスクリプトです。
https://github.com/KazuCocoa/droid-monitor
単に、
cpuinfoやmeminfoを整形してjsonファイルとして書き出す- Google APIを使ってグラフ化する形式にファイルを整形する
- 簡単なテンプレートHTMLを生成する
ということだけを行っている小さなものです。こういう可視化するツール、手軽に使えるものがなかったので用意してみました。以外と開発者はここらへん気にしないのですかね??
adbコマンドの dumpsys を使うので、Androidのバージョン関わらず値を取得することができます。meminfo に関しては、API Level 18を境に取得可能な形式が変わっているので、ライブラリ側でAPIバージョンを見て対応フォーマットを判断してます。
以下のような感じ。
CPU
Memory
使い方
https://github.com/KazuCocoa/droid-monitor/tree/master/sample
に2種類用意したのでそれを見るのが早そう。
こういうときに使う
例えば、Appiumなどを使って常に同じシナリオで、開発周期ごとのリリース物のCPU使用率を計測します。それにより、突然資源の使い方が激しくなったときを検出しやすくします。
あと、adbコマンドを使うだけなので、初期化時の引数にadb devicesなどで得られる端末のシリアル番号を指定してあげると、特定の端末のみをターゲットにすることができます。
締め
adbコマンド、いろいろあって便利。モニタリング用のAPKアプリを作って常駐させておくのも良いのですが、adbコマンドがいろいろ便利なので計測対象の端末に何も手を加えずに資源を可視化できるほうがお得感ありますね。

