AndroidツールのTraceView学習ノート


androidアプリケーションのパフォーマンスを分析する方法、java関数呼び出し関係.
1.mksdcard  -l sdcard  512M/root/.android/sdcard.img
2.アプリケーションにtraceの開始と終了関数を追加する(詳細は開発ドキュメントを参照)
   //start tracing to "/sdcard/calc.trace"
     Debug . startMethodTracing ( "calc" );------calcはあなたが生成します.traceファイルの名前
  //..
  //stop tracing
  Log.d("lizhenghui","NNNNNNN stop traceview debug");
  Debug . stopMethodTracing ();
3 . eclipseのrun Configuraton-->Target項のAdditional Emulator Command Line OptionsでEmulator起動時のsdcardディレクトリを指定します:-sdcard/root/.android/sdcard.img
4.eclipseからandroid運用を実行します.
5.運用プログラムを終了し、logcatで上のlog情報が表示されているかどうかを確認し、traceファイルが空でないことを確認します.
6.adb ls/sdcard/
ファイルが表示されます.calc.traceは私たちが必要とするファイルです.
7.traceファイルをローカルにダウンロードします.
 adb pull/sdcard/calc.trace ./
8.traceview calc.trace
traceファイルを開いて、少し辛抱強くヘルプドキュメントを見て、このファイルの上の部分が時間関係図であることを知ることができて、反映したのはいつどんな関数を実行して、下の部分は関数関係図で、反映したのは関数の呼び出し関係です.次の各項目の意味:
Name:すべての呼び出し項目がリストされています.前の数字は番号で、展開するとParentとChildrenのサブ項目が表示されます.つまり、呼び出され、呼び出されます.
Incl:inclusive時間の総時間に占める白分比
inclusive:呼び出しに時間がかかります.(すべてのサブメソッドの呼び出し時間を含む)
Excl:合計時間に対するホワイトスコアを実行します.
Exclusive:サブメソッドを含まない実行時間.
Calls+Recur Calls/TOtal:呼び出しと繰り返し呼び出しの回数
Time/Call:合計時間.(ms)
9.関数呼び出し関係図の生成
  A. apt-get install graphviz
  B. dmtacedump  -g aa.png calc.trace
C.lsはaaを生成するかどうかを確認する.pngピクチャ.
10.画像ツールで画像を開きます.
11.画像上の関数表示フォーマット(開発ドキュメントの例として、リモートネットワークを使用しています)
 
      <ref> callname (<inc-ms>, <exc-ms>,<numcalls>)
  • ref--番号
  • callname--関数名
  • <inc--ms>--
  • <exc-ms>--実行時間
  • <numcalls>--呼び出された回数