打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Traceviewを使う ? Tech Booster

TraceviewはSDKに付属しているツールで、実行時にログを取得しておいて、そのログをグラフィカルに表示するものです。

アプリケーションを実行している中で重たい(時間のかかる)処理を発見したいときなどに役立ちます。

手順は以下の通りです。

  1. トレースファイル(トーレスログ)の作成
  2. トレースファイルをパソコンにコピーする
  3. トレースファイルをTraceviewで表示する

それでは続きでそれぞれ説明していきます。

1.トレースファイル(トレースログ)の作成

まずTraceviewで表示させるトレースファイルを作成します。そのためには解析を行うアプリケーションのソースコードを修正する必要があります。

トレースを行いたい区間の前後にDebugクラスのメソッドを追加します。

  • Debug#startMethodTracing:トレースの開始
  • Debug#stopMethodTracing:トレースの終了

startMethodTracingの第1引数で保存するトレースファイルの名前を指定します。絶対パスで指定すればその位置に、そうでない場合はSDカード直下に指定したファイル名で保存されます。 下記のサンプルではSDカード直下にtracelog.traceという名前で保存されます。

トレースを行いたい処理があるクラス

1
2
3
4
5
6
7
8
9
import android.os.Debug;
省略?
// start tracing
Debug.startMethodTracing("tracelog");
//計測したい処理
// stop tracing
Debug.stopMethodTracing();

SDカードに保存するのでマニフェストファイルにSDカードへの書き込みのパーミッションの記述を忘れないようにします。 AndroidManifest.xml

1
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

2.トレースファイルをパソコンにコピーする

Traceviewに読み込ませるためにトレースファイルを端末からパソコンにコピーする必要があります。DDMSやadbコマンド(adb pull)でコピーしましょう。それぞれ下記の記事が参考になります。

3.トレースファイルをTraceviewで表示する

TraceviewはインストールしたSDKの中のtoolsフォルダにあるtraceviewコマンドに表示させたいログを引数に与えて実行します。 端末からコピーしたトレースファイルを指定します。

traceview /Volumes/DATA_HD/tracelog.trace

実行すると Traceviewのウインドウが開きます。 上部にスレッドが並び、時系列でそれぞれどれどのスレッドが実行されているか表示されます。

処理の詳細は下部に一覧で表示されます。実行時間の長い順にソートしてネックとなっている処理を見つけるなど活用しましょう。

このTraceviewを用いることで、何か特定の機能を実行した際に遅いと感じたらその区間でトレースログを取得して、実行時間の長いメソッドを探すことで改善すべき箇所を判断できます。

また、上部の時系列で表示されている箇所をドラッグして範囲を指定すると、その指定した範囲が表示されるので、調べたい箇所を絞って行くことができます。


関連する記事:

Sponsored Link

1 Comment

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Traceview的使用
Android - 性能优化
Android代码调试工具traceview和dmtracedump的波折演绎
Android性能调优工具TraceView介绍
使用traceview+dmtracedump快速定位性能问题 | In Winter
使用 TraceView 找到卡顿的元凶以及 StrictMode 优化代码逻辑
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服