android eclipse如何查看耗时

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android eclipse如何查看耗时相关的知识,希望对你有一定的参考价值。

参考技术A

Traceview是android平台配备的一个很好的性能分析工具。它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到method。android开发中可以用来:方法耗时,性能优化。

(推荐:eclipse使用教程)

使用Traceview查看方法耗时:

1、生成.trace文件

在我们需要追踪的代码中,前后输入:

Debug.startMethodTracing(“test”);//设置参数为生成的trace文件名

####CODE

Debug.stopMethodTracing();

然后运行项目,此时在设备的SD下会生成test.trace文件

2、拷贝文件到电脑

在电脑可以使用adb命令后,输入如下(把文件拷贝到d:/info目录下):

adb pull /sdcard/test.trace D:info

3、打开traceview

进入SDK的tools目录后,命令窗口执行traceview,如下:

traceview D:infodmtrace.trace.

此时traceview视图便会显示出来:

上部分:

X轴表示时间消耗,单位毫秒,Y轴表示各个线程,每个线程中不同方法使用不同颜色表示,颜色面积宽,表示占用cpu时间越长。

下部分:

列1:”Name”表示函数名。

双击函数名,可以看到在上半界面是时间轴面图(Timeline Panel)看他的所消耗的时间段。

双击函数名左边的”+”展开后可以看到,该函数的”parents”和”children”

列2:”incl%”表示函数的Inclusive time在整个MethodTracing时间里占的百分比。

列3:”Inclusive”表示Inclusive time。

列4:”Excl%”表示函数的Exclusive time在整个MethodTracing时间里占的百分比。

重点列:我们关注点

“Calls+RecurCalls/Total”表示对函数的调用次数(包括递归调用)。如图2的toplevel那列为”30+0”表示30次非递归调用,0次递归调用.

Cpu Time / Call 表示该方法耗时

Real time/Call 实际实际

Real time 包括了cpu的上下文切换、阻塞、GC等等,所以时间比较长,所以我们性能分析重点关注:Calls+RecurCalls/Total, Cpu Time / Call这两列

更多python知识请关注python视频教程。

Android启动优化之检测哪里耗时

网上讲的很多启动优化的知识点,但大多都是根据经验知道哪里需要优化,再去进行优化,但如果不知道是哪里耗时,需要去检查哪里耗时呢。我们又有哪些方法与手段检测呢?

Displayed可以查看总的耗时,如果想到查看具体哪一个方法耗时太多,最简单的插桩打点,更好的方法是使用工具。

app->editorconfigrations->Profiling->Start this recording on startups->CPU activity->Sample/Trace Java Methods

运行时不能直接run,而是要通过Profile app来启动app

点 record,stop录制启动的过程。

然后通过 TopDown,Flame Chart等进行分析。

运行时不能直接run,而是要通过Profile app来启动app

以上是关于android eclipse如何查看耗时的主要内容,如果未能解决你的问题,请参考以下文章

如何查看用eclipse中所写的android程序位置

在Eclipse中调试时如何查看android SDK系统库的符号?

如何查看在物理设备上运行的导出 APK 的 Android LogCat 输出?

Android 通过logcat查看crash 或者anr日志

eclipse中怎样查看sqlite数据库的表

Android:Eclipse 下可以使用哪些分析工具来查看可伸缩性?