上次讲述了一下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工具的使用具体解释的更多相关文章

  1. [置顶] Android学习系列-Android中解析xml(7)

    Android学习系列-Android中解析xml(7) 一,概述 1,一个是DOM,它是生成一个树,有了树以后你搜索.查找都可以做. 2,另一种是基于流的,就是解析器从头到尾解析一遍xml文件.   ...

  2. Android学习——在Android中使用OpenCV的第一个程序

    刚開始学习Android,因为之前比較熟悉OpenCV,于是就想先在Android上执行OpenCV试试 =============================================== ...

  3. 【Android学习】android:layout_weight的用法实例

    对于android:layout_weight的用法,用下面的例子来说明: <LinearLayout xmlns:android="http://schemas.android.co ...

  4. Android 学习之--android多线程断点下载

    我们平时都用"迅雷"下载软件,当下载到一半的时候突然断网,下次开启的时候能够从上次下载的地方继续下载,而且下载速度很快,那么这是怎么做到的呢! 其实它的“快”其实就是多线程的下载实 ...

  5. Android——android学习(android目录与AndroidManifest解析)

    res目录:存放android项目的各种资源文件 layout:存放界面布局文件 values:存放各种xml格式的资源文件 strings.xml:字符串资源文件: colors.xml:颜色资源文 ...

  6. Android学习【Android内核编译流程和错误笔记】

    博客:http://blog.csdn.net/muyang_ren Ubuntu14.04 LTS(要求是64位长期支持版LTS) Jdk1.8 内核:android4.0 一:jdk 1.解压jd ...

  7. Android学习路径——Android的四个组成部分activity(一)

    一.什么是Activity? Activity简单的说就是一个接口.我们是Android手机上看到的每个界面就是一个activity. 二.Activity的创建 1.定义一个类继承activity, ...

  8. Android学习之Android 5.0分享动画实现微信点击全屏效果

    Android5.0过渡动画,请看 http://blog.csdn.net/qq_16131393/article/details/51112772 今天用分享动画实现微信点击全屏效果 本文源代码下 ...

  9. Android学习十---Android Camera

    Android camera用来拍照和拍摄视频的先看一下最后实现的效果图             最后的效果图 一.准备 在你的应用程序上使用android拍照设备,需要考虑以下几个方面 1. 是否是 ...

随机推荐

  1. JavaScript学习总结(十五)——Function类

    在JavaScript中,函数其实是对象,每个函数都是Function类的实例,既然函数对象,那么就具有自己的属性和方法,因此,函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定. 一.函数的 ...

  2. ASP.NET Web API接受AngualrJS的QueryString的两种方式

    ASP.NET Web API如何接受来自AngualrJS的QueryString呢?本篇体验两种方式. 第一种方式:http://localhost:49705/api/products?sear ...

  3. delphi 取得任意程序的命令行

    program GetCommandLineExDemo; uses Windows; constSystemHandleInformation = 16;ProcessBasicInformatio ...

  4. win10系统更新不了,总出现错误0xc8000442

    来自 win10系统更新不了,总出现错误0xc8000442,SHIZHI333的回答. 首先卸载制有第三方防护软件管管家类软件,再试试下面的方法:清理一下更新临时文件,具体操作如下: 1.右键点击开 ...

  5. 关于toString方法的重写工具ToStringBuilder

    原文:https://blog.csdn.net/zhaowen25/article/details/39521899# apache的commons-lang3的工具包里有一个ToStringBui ...

  6. rtorrent - 强大的命令行BT客户端

    NOTE - 文中展示的所有示例和指令都已经在Ubuntu 13.04中测试过. 一.            安装 [root@GY-10000 data]# yum search rtorrent ...

  7. Instrument 实用详解

    苹果:Instruments User Guide iPhone Memory Debugging with NSZombie and Instruments 苹果:Mac OS X Debuggin ...

  8. netty 自定义通讯协议

    Netty中,通讯的双方建立连接后,会把数据按照ByteBuf的方式进行传输,例如http协议中,就是通过HttpRequestDecoder对ByteBuf数据流进行处理,转换成http的对象.基于 ...

  9. 明星伙伴第一至八季/全集Entourage迅雷下载

    英文译名Entourage,第1-8季(04-2011)HBO.本季看点:<明星伙伴>这是一部HBO原创系列喜剧,讲述年少成名的男主人公文森 .蔡斯和他的三个少年时纽约皇后区的朋友一道冒险 ...

  10. 实用ExtJS教程100例-004:等待对话框Ext.MessageBox.wait

    在前面两节中,我们分别演示了ExtJS三种常用的对话框和ExtJS带有进度条的对话框.在本节内容中,我们来看看ExtJS中的等待对话框. 首先来看一个简单的例子[查看在线示例]: 这种对话框会一直滚动 ...