Android学习之Android studio TraceView和lint工具的使用详解

Posted 隔壁小王66

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android学习之Android studio TraceView和lint工具的使用详解相关的知识,希望对你有一定的参考价值。

上次讲述了一下android studio Terminal的使用配置,今天又学习了一下关于Traceview和lint工具的使用。

首先来讲lint吧:

Android lint工具是Android studio中集成的一个代码提示工具,它主要负责对你的代码进行优化提示,包括xml和java文件,很强大。

编写完代码及时进行lint测试,会让我们的代码变得非常规范而且避免代码冗余。让我们及时发现代码中隐藏的问题。

举个例子:我们在代码中建立全局变量,而这个变量实际并不需要全局便利,lint在检测之后会提示我们改成局部变量,这对内存优化是一个很强大的促进手段。

如何使用:

可以看到有Inspect Code,翻译就是检测代码

点击选择whole project(整个项目)即可

效果如下:

这里提示ImageView没用添加ContentDescription属性,已经解决办法,真真是很智能,很强大。

clean Code会帮助我们检测有无可疑代码。

Android lint就讲到这。

Android TraceView的使用:

TraveView是Android studio集成的一个性能优化工具,相信很多人都知道它,但是用到它的应该不多,它的使用比较复杂,应该说理解比较复杂。它主要计算工程内方法运行所占用的时间,调用次数,以此来优化App运行效率。

例如:一个方法,占用时间比较长,但是调用次数少,那么你就要检测这个方法耗时在什么地方,由什么原因导致?

使用方法:

打开Android Device Monitor,这个大家都知道

1.选择你要调试的进程。
2.点击start mothod profiling,待图标变黑。
3.选择sample base profiling

这里需要解释一下:

Trace base profiling

整体监听,项目中所有方法都会监听,资源消耗比较大。

sample base profiling

抽样监听,以指定的频率进行抽样调查,一般不要超过5s,需要较长时间获取准确的样本数据。

再次点击start mothod profiling,就会生成检测样本。

效果如下:

上部分为时间轴,x轴表示时间,黑色区域可放大,每个区域代表每个方法的执行时间。

y轴表示每一个独立线程。

下部分Name为你所选择的颜色区块所代表的性能分析。

不同的颜色,代表不同的方法,颜色长度代表占用时间。

属性介绍:

Incl cpu time:某方法占用cpu时间(父+子)
Excl cpu time:某方法本身占用cpu时间(父)

Incl Real time:某方法真正执行时间(父+子)
Excl Real time:某方法自身执行时间(父)

当然还有相应所占百分比,不过多介绍。

还有Calls+RecurCall 调用次数+递归调用次数

还有比较重要的:

cpu time/call:平均每次调用占用cpu时间。

real time/call :平均每次调用所执行的时间。

我觉得这个参数很具有参考性。

打开每个方法,会显示Paents和children(即父方法和子方法),以及分别所占用时间。

说了这么多,应该对怎么使用TraceView很清晰了。

就到这吧。

以上是关于Android学习之Android studio TraceView和lint工具的使用详解的主要内容,如果未能解决你的问题,请参考以下文章

Android学习之Android studio TraceView和lint工具的使用详解

Android学习之布局

Android学习之网上商城(上)

Android学习之Drawable

Android学习之AsyncTask

Android学习之RxView