21.9.22 Android Monitor

特别申明:本文仅供自己学习记录使用,所写内容来自各网页,如需转载自己去查找内容出处。如有侵权请联系在下,评论、私信等不论。

目录

一、Android Monitor

1.DDMS概念

2.ddms功能

1.Thread:查看进程中线程情况。

2.Heap

3.File Exporler:File Exporler文件浏览器

 4.查看特定界面的展示及布局元素构成

​5.Devices

6.Emulator Control

7、Screen captrue:截屏操作

8.LogCat

9.Dump HPROF file

10.原文链接


一、Android Monitor

1.DDMS概念

DDMS 的全称是Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务。
它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等。
在集成开发环境中,有DDMS控制台窗口。如,MyEclipse中,有个叫DDMS的Console。

这里写图片描述 打开ddms
1、找到Android Device Moniitor

这里写图片描述
2、如果未下载便会出现下载界面,下载好即可打开ddms

这里写图片描述

2.ddms功能

1.Thread:查看进程中线程情况。

做线程分析,如果发现有这样的提示

这里写图片描述
“Thread updates not enabled for selected client(use toobar button to enable)”

 则需要进行以下操作:
Windows->Preferences->Android->DDMS -> ‘Thread Updates
Enabled by Default’
重启ADM即可。

查看进程中的线程

2.Heap

查看应用中内存使用情况。

Retained Size(包括直接引用的和间接引用的内存)

2.1 Start Allocaton Tracking

开始分配追踪,第一次点击可以指定追踪内存的开始位置,第二次点击可以结束追踪的位置。

3.File Exporler:File Exporler文件浏览器

查看Android模拟器中的文件,可以很方便的导入/出文件。例如下图就是文件查看,在这里显示当前模拟器的所有文件

 这里写图片描述

 
4.查看特定界面的展示及布局元素构成

右边的代码部分可以查看布局详情

这里写图片描述
5.Devices

查看到所有与DDMS连接的模拟器详细信息,以及每个模拟器正在运行的APP进程,每个进程最右边相对应的是与调试器链接的端口。

6.Emulator Control

实现对模拟器的控制,如:接听电话,根据选项模拟各种不同网络情况,模拟短信发送及虚拟地址坐标用于测试GPS功能等。

7、Screen captrue:截屏操作

在这里还提供了截图功能(截图的是功能界面例如上几个界面)

这里写图片描述

8.LogCat

查看日志输入信息,可以对日志输入进行Filter过滤一些调试的信息筛选查看等。 

9.Dump HPROF file

点击DDMS工具条上面的Dump HPROF文件按钮,选择文件存储位置,然后在运行hprof-conv。可以用MAT分析heap dumps启 动MAT然后加载刚才我们生成的HPROF文件。MAT是一个强大的工具,讲述它所有的特性超出了本文的范围,所以我只想演示一种可以用来检测 泄露的方法:直方图(Histogram)视图。它显示了一个可以排序的类实例的列表,内容包括:shallow heap(所有实例的内存使用总和),或者retained heap(所有类实例被分配的内存总和,里面也包括他们所有引用的对象)等。

10.原文链接    必看参考

11.GC Roots

11.1 对象存活的判定:
当一个对象不会再被使用的时候,我们会说这对象已经死亡。对象何时死亡,写程序的人应当是最清楚的。如果计算机也要弄清楚这件事情,就需要使用一些方法来进行对象存活判定,常见的方法有引用计数(Reference Counting)和有可达性分析(Reachability Analysis)两种。

11.2 引用计数算法的大致思想是给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。
Java语言里面没有选用引用计数算法来管理内存,其中最主要原因是它没有一个优雅的方案解决对象之间相互循环引用的问题:
当两个对象互相引用,即使它们都无法被外界使用时,它们的引用计数器也不会为0。

11.3 可达性算法的基本思路就是通过一系列的称为GC根节点(GC Roots)的对象作为起始点,从这些节点开始进行向下搜索,搜索所走过的路径成为引用链(Reference Chain),当一个对象到GC Roots没有任何引用链相连(用图论的话来说就是从GC Roots到这个对象不可达)时,则证明此对象是不可用的。
在这里插入图片描述

11.4 Java中可以作为GC Roots的对象


  1. 虚拟机栈(栈帧中的本地变量表)中引用的对象
  2. 方法区中类静态属性引用的对象
  3. 方法区中常量引用的对象
  4. 本地方法栈中JNI(即一般说的native方法)中引用的对象

         必看参考

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要升级DBeaver到ClickHouse 21.9.4版本,可以按以下步骤操作: 1. 下载安装ClickHouse 21.9.4版本:前往ClickHouse的官方网站(https://clickhouse.tech/)下载21.9.4版本的安装文件,根据你的操作系统选择对应的安装包进行下载。 2. 安装ClickHouse 21.9.4:根据下载的安装包进行安装,按照安装向导的指示进行操作。确保你已具备安装ClickHouse所需的权限,并按照提示完成安装过程。 3. 打开DBeaver:打开DBeaver数据库管理工具,并选择连接到ClickHouse数据库的连接配置。 4. 更新DBeaver连接配置:在DBeaver中,找到已连接的ClickHouse数据库连接配置,右键点击该配置,选择"编辑连接"。 5. 更新ClickHouse版本:在连接配置的编辑对话框中,找到"ClickHouse版本"选项,并将其更新为21.9.4版本。根据DBeaver的不同版本,该选项可能位于不同位置或具有不同的名称,但通常都能找到与ClickHouse版本相关的设置。 6. 保存并应用连接配置:完成版本更新后,点击保存并应用连接配置的按钮,使更改生效。 7. 重新连接到数据库:关闭连接配置的编辑对话框,重新连接到ClickHouse数据库。DBeaver将使用更新后的版本连接到数据库。 请注意,升级数据库时可能会涉及到一些风险和不确定性,建议在升级之前备份数据库以防万一。此外,确保你在升级之前已经了解新版本的特性和变更,并对可能的不兼容性有所掌握。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值