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中解析xml(7)
Android学习系列-Android中解析xml(7) 一,概述 1,一个是DOM,它是生成一个树,有了树以后你搜索.查找都可以做. 2,另一种是基于流的,就是解析器从头到尾解析一遍xml文件. ...
- Android学习——在Android中使用OpenCV的第一个程序
刚開始学习Android,因为之前比較熟悉OpenCV,于是就想先在Android上执行OpenCV试试 =============================================== ...
- 【Android学习】android:layout_weight的用法实例
对于android:layout_weight的用法,用下面的例子来说明: <LinearLayout xmlns:android="http://schemas.android.co ...
- Android 学习之--android多线程断点下载
我们平时都用"迅雷"下载软件,当下载到一半的时候突然断网,下次开启的时候能够从上次下载的地方继续下载,而且下载速度很快,那么这是怎么做到的呢! 其实它的“快”其实就是多线程的下载实 ...
- Android——android学习(android目录与AndroidManifest解析)
res目录:存放android项目的各种资源文件 layout:存放界面布局文件 values:存放各种xml格式的资源文件 strings.xml:字符串资源文件: colors.xml:颜色资源文 ...
- Android学习【Android内核编译流程和错误笔记】
博客:http://blog.csdn.net/muyang_ren Ubuntu14.04 LTS(要求是64位长期支持版LTS) Jdk1.8 内核:android4.0 一:jdk 1.解压jd ...
- Android学习路径——Android的四个组成部分activity(一)
一.什么是Activity? Activity简单的说就是一个接口.我们是Android手机上看到的每个界面就是一个activity. 二.Activity的创建 1.定义一个类继承activity, ...
- Android学习之Android 5.0分享动画实现微信点击全屏效果
Android5.0过渡动画,请看 http://blog.csdn.net/qq_16131393/article/details/51112772 今天用分享动画实现微信点击全屏效果 本文源代码下 ...
- Android学习十---Android Camera
Android camera用来拍照和拍摄视频的先看一下最后实现的效果图 最后的效果图 一.准备 在你的应用程序上使用android拍照设备,需要考虑以下几个方面 1. 是否是 ...
随机推荐
- 教程:如何手动安装Xamarin与Xamarin for VisualStudio
[2016/4/17更新:如果你下载后发现仍然需要付费才能编译Android/iOS APP,请到文章最下面更新Xamarin for VS和Xamarin Studio到最新的版本.Build201 ...
- 【python】python彻底卸载的方法【windows安装版卸载的示例】
要想彻底干净的卸载python,如果是使用的安装版的话,其实很简单.[windows安装版] 就是点击安装包. 例如,当前你安装的版本是3.6.5,你想要把它卸载掉. 查看python版本的命令: 只 ...
- cocos2d-x 输出debug信息
cocos2d-x 输出debug信息 在Classes目录下添加文件AppDef.h #ifndef _APP_DEF_H_#define _APP_DEF_H_ #include <an ...
- 架构:Eventually Consistent - Revisited
原文地址:http://i.cnblogs.com/EditPosts.aspx?opt=1. I wrote a first version of this posting on consisten ...
- JQuery攻略(一) 基础知识——选择器 与 DOM
JQuery是功能丰富的Javascript库,可以帮助用户毫不费力地把动态功能应用到网页. JQuery具有许多强大的功能,包括访问部分网页,快速修改网页内容,添加动画,应用AJAX技术等等. 正因 ...
- 生成模型(Generative Model)和 判别模型(Discriminative Model)
引入 监督学习的任务就是学习一个模型(或者得到一个目标函数),应用这一模型,对给定的输入预测相应的输出.这一模型的一般形式为一个决策函数Y=f(X),或者条件概率分布P(Y|X). 监督学习方法又可以 ...
- pssh,pdsh,mussh,cssh,dsh运维工具介绍
pssh 1 安装:#wget http://peak.telecommunity.com/dist/ez_setup.pypython ez_setup.py#wget http://paralle ...
- chrome DevTools之黑箱大法(Blackbox ) 黑箱化源代码
Blackbox 提高JavaScript调试效率 所有人前端开发人员都会遇到的问题,您的应用程序代码中会出现错误.您开始调试,但是逐行执行代码时,调试器有时会跳转到不是您的焦点的源文件(例如第三方J ...
- AutoCppHeader AutoHeader 自动根据CPP 或C文件 来生成头文件。
根据 cpp文件 生成相应的头文件 namespace 声明类定义声明 函数声明 extern 变量声明 选项--------------//[AutoHeader Public] //[AutoHe ...
- verilog语法实例学习(7)
常用的时序电路介绍 组合电路:这类电路的输出信号值仅却决于输入端信号值. 时序电路:时序电路的输出值不仅取决于当前的输入值,还取决于电路的历史状态,所以时序逻辑电路中包含保存逻辑信号值的存储元件,存储 ...