上次讲述了一下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很清晰了。
就到这吧。