このクラスを使用すると、処理間隔をわかりやすくログ出力できます。
実際にコードと出力イメージをみたほうが理解できます。
サンプルコード
TimingLogger timings = new TimingLogger("tag", "method"); // work a timings.addSplit("work a"); // work b timings.addSplit("work b"); // work c timings.addSplit("work c"); timings.dumpToLog();ログ
D/tag ( 3459): method: begin D/tag ( 3315): method: 5 ms, work a D/tag ( 3315): method: 3 ms, work b D/tag ( 3315): method: 12 ms, work c D/tag ( 3315): method: end, 20 msTimingLoggerはスレッドセーフに設計されていません。
TimingLoggerで使える主なメソッドは下記。
TimingLogger(String tag, String label)
コンストラクタ。
dumpToLogでの出力結果に、ログタグtagと計測対象のメソッド名labelを設定します。
addSplit(String splitLabel)
計測に"マーカー"となるラベルを設定します。
dumpToLogでの出力結果に、前回マーカーポイントからの経過時間を表示させます。
dumpToLog()
計測した結果をログ出力します。
reset()
計測情報を全てリセットします。
addSplitで設定したマーカー情報もリセットされます。
コンストラクタで指定したtagとlabel情報はそのまま残ります。
reset(String tag, String label)
計測情報に加えて、コンストラクタで設定したログタグとメソッド名情報をtag,labelで上書きます。
参考:http://developer.android.com/reference/android/util/TimingLogger.html
以上です。