自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)

原创 Android进程内存分析

VSS,RSS,PSS,USS在分析Android进程内存前,需要先了解这几个Linux 内存概念.Vss是占用的虚拟内存,如果没有映射实际的内存也算进来。如果VSS这个概念不好理解,那么参考如下这段:VSS (reported as VSZ from ps) is the total accessible address space of a process.This size also includes memory that may not be resident in RAM like

2020-07-30 11:28:16 45

原创 ADB文件管理器

QTrace带了一个双栏Adb文件管理器,同时显示设备的文件夹与本地的文件夹,支持文件的上传,下载等。点击菜单"视图->插件->Adb文件管理器",打开文件管理器[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RyXMJnq1-1596079140873)(https://s1.ax1x.com/2020/07/23/ULYp9O.png)]文件管理器分为三个部分:设备的目录树,设备文件列表,本地文件列表。支持的功能1.下载文件在设备文件列表中,选择文件

2020-07-30 11:19:27 114

原创 终端与ADB查看器

QTrace内嵌了一个高度定制化的终端,集成了许多Android Adb相关的命令。同时Terminal还集成了一个ADB查看器,可以格式化adb dumpsys等命令的输出结果, 显示输出结果的结构。终端点击工具栏面板中的”终端“, 打开终端。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yJdw266g-1596079078765)(https://s1.ax1x.com/2020/07/23/Uq2sxA.png)]内置的终端有如下优点:1.高亮命令行显示,

2020-07-30 11:18:35 39

原创 QTrace使用技巧

面板大小调整**可以用鼠标移动分割条可以调整面板大小。在面板的标签栏,右键单击弹出的菜单中有:最小化面板,恢复面板,最大化面板。这些可以快速的控制面板大小。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1EZFsl9c-1596078900822)(https://s1.ax1x.com/2020/07/22/UHTaqA.png)]这些命令也有快捷方式的:在标签栏点击鼠标,可以实现最小化面板或者恢复面板大小。按住 Ctrl键点击鼠标,可以实现最大化面板或者恢复面

2020-07-30 11:17:23 63

原创 控制台

控制台就是QTrace程序的命令行交互窗口。主要功能如下:1)显示QTrace程序的关键Log信息2)执行QTrace提供的命令行命令: 连接设备,断开设备,设置断点,各种与设备相关的命令等等3)设置了断点,断点中脚本的输出结果显示在控制台主要命令命令说明用法(括号表示命令的别名)threads列出线程thread thread设置当前线程suspend中断线程执行,如果没有指定线程id,中断所有线程suspend [thread id(s)]

2020-07-30 11:14:16 36

原创 多个文件生成UML类图

《代码实时显示UML类图》中介绍了自动对当前编辑的文件生成类图,这里介绍另外一种生成UML类图的方法:解析多个源码文件,生成UML类图。该方法的一个作用就是:比如对一个包下的所有文件生成类图,展示它们之间的类关系。1.选择文件生成UML类图1.在左侧的源码树面板中,选择文件,执行右键菜单 “插件->UML类图”2.可以继续要解析UML类图的添加文件或者目录3.生成的类图如下,该类图主要关注类之间的关系,所以对于类内部的变量,函数等信息则不显示[外链图片转存失败,源站可能有防盗链机制,建议

2020-07-30 11:13:05 61

原创 代码实时显示UML类图

这里介绍一个查看代码的利器,可以在查看Java/Kotlin代码时,自动生成UML类图。该UML类图有如下特点:1).UML类图是个网页,可以点击类/变量,来跳到对应的代码2).UML类图是个网页,可以进行查找3).UML类图有包含注释,不仅包含当前文件中写的注释,还包含Android系统的注释4).UML文件是文本格式,可以编辑1.查看类图打开一个Java/Kotlin文件,在面板“当前类图”会自动显示当前文件的UML类图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(

2020-07-30 11:11:39 66

原创 结构化Log分析

Android开发时Log对问题分析是很重要的。如果APK比较简单,那么用文本编辑器或者Android Studio中自带Log查看器就可以了。但是如果程序比较复杂,各个模块都添加了Log, 如果这时再用文本编辑器来查看Log, 往往就会一头雾水了。特别是对于Anroid系统开发者,Val报了一个Bug后,附带的Log都是整个系统的,往往都是上百兆的。用文本或者AndroidStudio的Log查看器,只能查看或者简单查找。而QTrace提供了结构化分析Log的工具,简单的说就是,QTrace会把Log编

2020-07-30 11:10:53 41

原创 按UML序列图分析与查看Android TraceView

TraceView 是Android一个最好的性能分析的工具。Android 提供的默认TraceView文件查看工具,主要用做热点分析,找出最需要优化的点。也就是说,它是针对函数进行分析的,比如找出执行最耗时的方法,调用次数最多的方法等等。但是有时候,并不需要分析整个TraceView, 而只是针对某部分类进行分析。QTrace针对这种情况,提供了更好的分析方法。打开QTrace, 点击View->Plugin->TraceView UML.单击Select File, 选择DDMS中

2020-07-30 11:09:23 31

原创 QTrace的调试功能与跟踪功能

对于一个IDE来说,调试功能是必不可少的。QTrace除了普通的调试功能外,还提供了跟踪功能。调试功能就是设置断点,程序运行到断点处停住,这是可以查看各种信息。跟踪功能与调试功能的区别就是,跟踪功能在断点不停住,只是打印断点处的各种信息。之前说的《跟踪程序执行并UML序列图显示》也是跟踪功能的一种。1.QTrace调试功能1.打开源码,在对应的源码处,设置断点注意选择断住(Suspend),这样程序执行到断点时,才会停住2.程序运行到断点时,会停住,并跳到对应的代码行,这样一般的IDE都是一样

2020-07-30 11:07:18 42

原创 跟踪程序执行并UML序列图显示

如果要了解程序是怎样执行的,函数什么时候被调用到的,我们就必须一个个函数的打断点,进行跟踪。这是一个非常麻烦的过程。了解程序的执行,对程序员来说是很常见的事情, 比如:如果我们想深入的掌握Android系统的某个类,看代码肯定是不可以少的,同时跟踪执行过程对掌握代码肯定很有帮助。但是要跟踪执行过程,往往需要先通读代码,然后再对应的地方打断点跟踪。能否先对整个类打断点,先整个类的了解程序的执行过程,然后再去详细的读代码呢?另外在很多公司,文档是缺少的,代码是没什么注释的,程序结构也比较糟糕。当一个员工要接

2020-07-30 11:06:01 71

原创 实时查看内存(变量,引用)

在调试的时候,当程序断住时,可以查看当前相关变量的值。​ QTrace查看变量的功能更强大, 除了在调试时可以查看相关变量的值,程序没设置断点时,也能查看变量的值,同时可以看查看引用等信息。1.查看类的实例1.打开QTrace, 连接上要调试的程序2.到Device面板,搜索要查看的类3.对类执行右键菜单"实例(Instance)", 会列出该类所有的实例[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZVGyt3vr-1596078177244)(http

2020-07-30 11:03:30 58

原创 从内存导出文件HProf查看内存变量内容

HProf文件是Java/Android的内存dump文件。提到HProf文件,大家首先能想到的肯定是用于分析内存泄漏。而且目前看到的工具,基本上也都只支持用HProf来进行内存泄漏的分析。不过HProf文件除了分析内存泄漏,还可以查看内存的内容,也就是可以查看类中各个变量的值。​ 查看内存内容有什么作用呢, 主要有如下几个用途:​ 1.协助进行内存泄漏的分析,通过分析某个实例的内容,从而进一步定义实例是什么地方分配的。比如一个有一些Bitmap怀疑泄漏的,但是从引用关系来却看不出它的来源,如果分

2020-07-30 11:02:07 99

原创 Android内存泄漏分析

Java内存泄漏是什么C/C++中内存泄漏定义为:一块内存没有引用了(也就是将来肯定用不到了),但是这块内存没被释放,还一直占用着内存空间。对于C/C++的这种内存泄漏,Android/Java中是不存在的,因为Android/Java会自动检查一块内存是否有引用,如果没有引用,Android/java会自动释放内存的。由此是否可以说Java中就没有内存泄漏问题呢?当然不是,Java中内存泄漏问题比C/C++还更容易发生。与C/C++不同, Java中是没有显式声明释放内存的代码,所以程序员要释放内存,

2020-07-30 10:59:48 40

原创 QTrace:一个不一样的Android IDE

QTrace是什么QTrace官方网站:http://www.qtrace.top,QTrace下载地址:http://www.qtrae.top/download.php第一眼看到QTrace, 很多人会想:这是另一个Android开发的IDE吗? google已经提供了Android Studio了,为什么还需要QTrace? 如果QTrace不是Android的IDE,那么QTrace是什么?就功能来说,QTrace还真是一个IDE, Android Studio该有的功能它大部分都有。不过官

2020-07-30 10:55:27 80

原创 a[i][j] 和 a[j][i] 的区别,你真的懂吗

a[i][j] 和 a[j][i] 的区别,你真的懂吗看到一篇博客https://blog.csdn.net/u013256816/article/details/105525284; 里面提到一个面试题。如下两代码块,哪个运行速度快。int LEN = 10000;int[][] arr = new int[LEN][LEN];for (int i = 0; i < LEN; i++) { for (int j = 0; j < LEN; j++) { ar

2020-07-18 17:02:10 281 15

空空如也

空空如也

空空如也
提示
确定要删除当前文章?
取消 删除