【专业技术】安卓如何调试?

工欲善其事,必先利其器,对于开发中的一些工作同样是这样。工具的使用非常重要。下面的文章介绍了一个android的性能分析工具。对于要做android性能优化但还不知道这个工具的同学可以研究下。

1.TraceView简介

  TraceView是AndroidSDK里面自带的工具,用于对Android的应用程序以及Framework层的代码进行性能分析。

TraceView是图形化的工具,最终它会产生一个图表,用于对性能分析进行说明。

TraceView可以跟踪到具体的Method。

2.TraceView的原理

  TraceView通过修改code,在需要调试的起始和结束位置加入调试函数,一般在activity的onCreate()中添加Debug.startMethodTracing(“Test”), 在onStop()中来调用Debug.stopMethodTracing()。这样当我们切换到其它activity或者点击home键的时候onStop()就会被调用,我们也就可以得到完整的trace file。

  程序运行之后会在SD的根目录下产生Test.trace文件来保存运行时的数据,然后把Test.trace文件考到pc机上,通过traceview命令对Test.trace文件进行分析。

  权限设置:程序会将Trace文件写入手机SDcard中,因此需要添加内存卡访问权限

  在manifest文件中加入: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

3. TraceView图形

时间片面板(Timeline panel)

分析面板(Profile panel)

以下是翻译

Exclusive: 同级函数本身运行的时间

Inclusive 就是说除统计函数本身运行的时间外再加上调用子函数所运行的时间

Name:列出的是所有的调用项,前面的数字是编号,展开可以看到有的有Parent 和Children子项,就是指被调用和调用。

Incl: inclusive时间占总时间的白分比

Excl: 执行占总时间的白分比。

Calls+Recur Calls/Total: 调用和重复调用的次数

Time/Call: 总的时间。(ms)

文章来自:http://www.cnblogs.com/xingfuzzhd/p/3382861.html

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2016-02-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏烂笔头

Python爬虫—破解JS加密的Cookie

目录[-] 前言 在GitHub上维护了一个代理池的项目,代理来源是抓取一些免费的代理发布网站。上午有个小哥告诉我说有个代理抓取接口不能用了,返回状态521...

75770
来自专栏coder修行路

继续Django

环境准备 1、    创建一个Django后,Django的目录: │ manage.py │ ├─Django_s1 │ settings.py ...

36470
来自专栏everhad

App设计:消息推送和界面路由跳转

概要 app消息推送、显示通知栏,点击跳转页面是很一般的功能了,下面以个推为例演示push集成,消息处理模块及app内部路由模块的简单设计。 推送 推送sdk集...

51290
来自专栏Danny的专栏

ASP.NET实现文件的上传和下载

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

3.4K30
来自专栏古时的风筝

Java 项目中一种简单的动态修改配置即时生效的方式 WatchService

20950
来自专栏程序手艺人

nghttp2 - HTTP/2 C Library 简明教程(一)

466120
来自专栏Laoqi's Linux运维专列

Kubernetes 1.8.6 集群部署–Node节点(六)

37850
来自专栏随心DevOps

[实战篇] Python 运维中使用并发

今天从大哥手里接了一个需求: 验证一下新的 Docker 镜像仓库(Docker Registry)是否迁移成功了 简单粗暴的方法就是拿到老仓库中的镜像列表(I...

447120
来自专栏fixzd

redis系列:通过队列案例学习list命令

这一篇文章将讲述Redis中的list类型命令,同样也是通过demo来讲述,其他部分这里就不在赘述了。

34110
来自专栏北京马哥教育

Python爬虫基础知识:Opener与Handler

豌豆贴心提醒,本文阅读时间6分钟 在开始后面的内容之前,先来解释一下urllib2中的两个个方法:info and geturl urlopen返回的应答对...

39590

扫码关注云+社区

领取腾讯云代金券