diff options
Diffstat (limited to 'docs/html/tools/debugging/debugging-tracing.jd')
-rw-r--r-- | docs/html/tools/debugging/debugging-tracing.jd | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/docs/html/tools/debugging/debugging-tracing.jd b/docs/html/tools/debugging/debugging-tracing.jd index bd4afbc..fa5b4e1 100644 --- a/docs/html/tools/debugging/debugging-tracing.jd +++ b/docs/html/tools/debugging/debugging-tracing.jd @@ -127,7 +127,7 @@ parent.link=index.html {@link android.os.Debug#startMethodTracing() startMethodTracing()} methods. In the call, you specify a base name for the trace files that the system generates. To stop tracing, call {@link android.os.Debug#stopMethodTracing() stopMethodTracing()}. These methods start and stop method - tracing across the entire virtual machine. For example, you could call + tracing across the entire virtual machine. For example, you could call {@link android.os.Debug#startMethodTracing() startMethodTracing()} in your activity's {@link android.app.Activity#onCreate onCreate()} method, and call {@link android.os.Debug#stopMethodTracing() stopMethodTracing()} in that activity's @@ -157,6 +157,13 @@ parent.link=index.html times are only useful in relation to other profile output, so you can see if changes have made the code faster or slower relative to a previous profiling run.</p> + <p>In Android 4.4 and later, you can use sample-based profiling to profile with less runtime + performance impact. To enable sample profiling, call {@link + android.os.Debug#startMethodTracingSampling(java.lang.String, int, int) + startMethodTracingSampling()} with a specified sampling interval. The system will then gather + samples periodically until tracing is stopped via {@link android.os.Debug#stopMethodTracing() + stopMethodTracing()}.</p> + <h2 id="copyingfiles">Copying Trace Files to a Host Machine</h2> <p>After your application has run and the system has created your trace files @@ -277,7 +284,8 @@ dmtracedump [-ho] [-s sortable] [-d trace-base-name] [-g outfile] <trace-base Traceview logging does not handle threads well, resulting in these two problems: <ol> - <li>If a thread exits during profiling, the thread name is not emitted;</li> + <li>If a thread exits during profiling, the thread name is not emitted (fixed in Android 5.1 + and later);</li> <li>The VM reuses thread IDs. If a thread stops and another starts, they may get the same ID.</li> |