网站建设资讯

NEWS

网站建设资讯

包含ddmsandroid的词条

Android Studio的DDMS工具有哪些功能

DDMS(Dalvik Debug Monitor Service),是 Android 开发环境中的Dalvik虚拟机调试监控服务。可以进行的操作有:为测试设备截屏,查看特定行程中正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等,功能非常强大,对于安卓开发者来说是一个非常好的工具。

为裕华等地区用户提供了全套网页设计制作服务,及裕华网站建设行业解决方案。主营业务为成都做网站、网站建设、外贸营销网站建设、裕华网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

Android Studio中怎么使用DDMS工具步骤方法:

1.Android Studio开发工具中,打开DDMS。

2.打开之后的窗口。

除了图上大概标注的功能外,详细的功能有:

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

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

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

4.File Exporler:File Exporler文件浏览器,查看Android模拟器中的文件,可以很方便的导入/出文件。

5.Heap:查看应用中内存使用情况。

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

7.Screen captrue:截屏操作

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

9.其它工具。

可能这样说,不太直观,通过图片,来简单展示几个的使用:

1.查看进程中的线程:

2.查看内存信息:

3.文件管理,可以对文件进行导入导出,真机很多操作可能需要Root权限才能进行。模拟器的话可以模拟发短信,打电话,定位等:

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

以上只通过图片展示了4个功能

AndroidDDMS是什么?

DDMS 的全称是Dalvik Debug Monitor Service,它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、手机SMS、虚拟地理坐标等等。

如何启动 DDMS启动DDMS有两种方法。如下:

1、直接双击 SDK – tools\ddms.bat 运行;

2、在Eclipes中启动DDMS。

3、选择“Other,双击DDMS就可以启动了。

怎么进入android的ddms

运行DDMS

DDMS集成在Eclipse中,同时也附带在SDK下的tools目录下。DDMS既可以在模拟器中工作也可以在已连接的设备上工作。如果同时连接了设备和运行了模拟器,DDMS默认在模拟器中运行。

从Eclipse打开:点击* Window Open Perspective Other... DDMS* 。

从命令行打开:在tools目录下输入ddms(或./ddms在Mac/Linux)

DDMS怎样与调试器交互

在安卓平台上,每个应用都运行在自己的进程上,同时每个应用也都运行在自己的虚拟机(VM)上。每个VM公布了唯一的端口号以供调试器连接。

 

 当DDMS启动后,会连接到adb。当有设备连接上,VM监测服务就在adb和DDMS之间创建,它会通知DDMS

设备上的VM是启动了还是终止了。一旦VM是运行的,DDMS就获取VM的进程ID(pid),通过adb和设备上的adb守护进程(adbd)建立到

VM调试器的连接。到此,DDMS就可以使用约定的线协议与VM通信。

DDMS给设备上的每个VM分配一个调试端口。通常,DDMS

分配的第一个可调试端口号是8600,下一个是8601,依次往下类推。当调试器连接到已分配的一个端口时,VM上的所有通信都会被关联到调试器。一个调

试器只能连接一个单独的端口,但是DDMS同时可以处理多个连接的调试器。

默认的,DDMS也会监听DDMS的“基本端口”(默认为

8700)。基本端口是一个端口转发端口,可以通过8700端口接受来自VM所有调试端口的通信并可以发送信息到调试器。这就允许你将调试器连接到

8700端口,然后可以调试所有设备上的虚拟机。在DDMS设备视图下,转发的通信可以被当前所选进程终止。

接下来的屏幕截图会在

Eclipse中显示标准的DDMS屏幕视图。如果你是从命令行启动的DDMS,截图会略有不同,但绝大部分功能是相同的。注意这个特殊进

程,com.android.email它在模拟器上运行时的调试端口是8700,而分配给它的端口是8606。这就表明DDMS当前将8606端口转发

如何使用android DDMS

运行DDMS

DDMS集成在Eclipse中,同时也附带在SDK下的tools目录下。DDMS既可以在模拟器中工作也可以在已连接的设备上工作。如果同时连接了设备和运行了模拟器,DDMS默认在模拟器中运行。

从Eclipse打开:点击* Window Open Perspective Other... DDMS* 。

从命令行打开:在tools目录下输入ddms(或./ddms在Mac/Linux)

DDMS怎样与调试器交互

在安卓平台上,每个应用都运行在自己的进程上,同时每个应用也都运行在自己的虚拟机(VM)上。每个VM公布了唯一的端口号以供调试器连接。

 

 当DDMS启动后,会连接到adb。当有设备连接上,VM监测服务就在adb和DDMS之间创建,它会通知DDMS

设备上的VM是启动了还是终止了。一旦VM是运行的,DDMS就获取VM的进程ID(pid),通过adb和设备上的adb守护进程(adbd)建立到

VM调试器的连接。到此,DDMS就可以使用约定的线协议与VM通信。

DDMS给设备上的每个VM分配一个调试端口。通常,DDMS

分配的第一个可调试端口号是8600,下一个是8601,依次往下类推。当调试器连接到已分配的一个端口时,VM上的所有通信都会被关联到调试器。一个调

试器只能连接一个单独的端口,但是DDMS同时可以处理多个连接的调试器。

默认的,DDMS也会监听DDMS的“基本端口”(默认为

8700)。基本端口是一个端口转发端口,可以通过8700端口接受来自VM所有调试端口的通信并可以发送信息到调试器。这就允许你将调试器连接到

8700端口,然后可以调试所有设备上的虚拟机。在DDMS设备视图下,转发的通信可以被当前所选进程终止。

接下来的屏幕截图会在

Eclipse中显示标准的DDMS屏幕视图。如果你是从命令行启动的DDMS,截图会略有不同,但绝大部分功能是相同的。注意这个特殊进

程,com.android.email它在模拟器上运行时的调试端口是8700,而分配给它的端口是8606。这就表明DDMS当前将8606端口转发

到静态调试端口8700。

图1.DDMS截图

如果你不用Eclipse和ADT,请阅读 Configuring your IDE to attach to the debugging port来获取更多连接到调试器的信息。

提示:你可以在File Preferences中设置一系列的个人使用配置。配置保存在$HOME/.android/ddms

了解Dalvik的调试问题*

在Dalvik虚拟机中调试的应用和在其他虚拟机中的应用一样运行。然而,当单步跳出同步代码时,“当前位置”指针可能一下跳到方法中的最后位置

使用DDMS

下一部分讲述怎么使用DDMS和DDMS图形用户界面中的各个选项和面板。Eclipse版本和命令行版本界面有较小的不同,但是功能上是相同的。要获得运行中的DDMS的信息,参见前一部分的文档,Running DDMS.

查看进程的堆使用情况

DDMS允许查看进程堆内存的使用情况。在程序的特定执行时间跟踪堆使用情况是非常有用的信息。

查看堆使用的步骤:

 

 1.在设备选项,选择要查看堆使用信息的进程。2.点击 Update Heap 按钮获取进程的堆信息。3.在堆选项中,点击Cause

GC来激活垃圾收集,它会让堆数据收集变得可用。当操作完成,会看到一组对象类型和每种类型已分配的内存。再次点击Cause

GC就可以刷新数据。4.点击一个对象类型列表中看到一个条形图显示对象的数量分配给一个特定的内存字节大小。

跟踪对象的内存分配

DDMS提供一个很有用的功能,它跟踪正在分配内存的对象和查看那些类和线程正分配对象。这样,在应用中执行特定操作时你就可以实时跟踪哪些对象正在被分配资源。分析影响到应用性能的内存使用是很有价值的信息。

跟踪内存的对象分配:

 

 1.在设备选项,选择需要跟踪内存分配的进程。2.在分配内存选项,点击Start

Tracking按钮开始分配跟踪。这时,任何在应用中的操作都会被跟踪。3.点击Get Allocations来查看从点击Start

Tracking按钮以来已经分配了的对象列表。再点击Get

Allocations就会将已分配的新对象添加到列表中。4.如果要停止跟踪或清除数据后重新开始,点击Stop

Tracking按钮。5.点击列表中的特定行就可以看到更详细的信息,比如已分配的对象的方法和代码行号。

使用模拟器或设备的文件系统

DDMS提供了文件系统选项,它允许查看、复制和删除设备上的文件。这个功能对于检查应用创建的文件或向设备中导入文件和从设备导出文件来说,非常有用。

使用模拟器或设备文件系统:

1.在设备选项,选择要查看文件系统的模拟器。2.要从设备中复制文件,先在文件浏览中定位文件,然后点击Pull file按钮。3.要把文件复制到设备中,点击文件浏览选项中的Push file按钮

查看线程信息

DDMS中的线程选项显示了所选进程中正在运行的线程信息。

1.在设备选项,选择要查看的线程所在的进程。2.点击Update Threads按钮。3.在线程选项就可以看到所选进程的线程信息了

开始方法分析

 

 方法分析是一种对方法的某些数据进行跟踪的手段,例如:调用次数、执行时间和执行方法所用时间。如果想更精确的控制在那些地方收集分析数据,使用

startMethodTracing()和stopMethodTracing()方法。要获得更多关于产生跟踪日志的信息,请查看Profiling

and Debugging UIs.

在DDMS中开始方法分析之前,注意以下限制情况:

安卓1.5版本的设备不支持

安卓2.1和更早的版本必须已插入SD卡,并且应用有写SD卡的权限

安卓2.2和以后的设备不需要已插入SD卡。跟踪日志文件直接输出到开发设备上。

开始方法分析:

 

 1.在设备选项,选择要进行方法分析的进程2.点击Start Method Profiling按钮。3.与应用进行交互,开始要分析的方法4.点击

Stop Method Profiling按钮。DDMS停止分析应用并打开Traceview,它包含了在点击Start Method

Profiling和Stop Method Profiling之间方法分析收集到的信息.

使用网络通信工具

在安卓4.0中,DDMS(Dalvik调试监控服务)包含了详细的网络使用选项,可以跟踪应用的网络请求。使用这个工具,可以监测应用何时以及如何传输数据,并且能根据这个适当的优化底层代码。在使用前,也可以通过添加标签到网络套接口来区分不同的通信类型。

在DDMS中,这些标签代表的堆栈信息以图表形式显示,如图2:

图2.网络使用表

监测每次连接数据传输的频率和传输的数据量,可以确定应用的那些地方可以优化以至于可以更省电。通常,应该找可以延迟的短的峰值或者会导致传输延迟,提前清空它们。

为了更好的确认导致传输峰值的原因,TrafficStats API 允许使用 setThreadStatsTag()方法在线程中标识数据传输,接着用tagSocket()和untagSocket()可以手动标识(或去标识)不同的套接口。例如:

 

 TrafficStats.setThreadStatsTag(0xF00D);TrafficStats.tagSocket(outputSocket);//

Transfer data using socketTrafficStats.untagSocket(outputSocket);

或者,平台中的Apache HttpClient 和URLConnection 的API在活动的标识(被getThreadStatsTag()确定过的标识)上会自动标识内部套接口。当通过活动池回收时,这些API会正确的标识/去标识套接口。

 

 TrafficStats.setThreadStatsTag(0xF00D); try { // Make network request

using HttpClient.execute() } finally {

TrafficStats.clearThreadStatsTag();}

在安卓4.0上支持套接口标识,但显示套接口标识的实时状态只在安卓4.0.3或更高版本的设备上才支持。

使用日志

LogCat集成在DDMS中,可以输出使用 Log 类打印的消息和其它系统的消息,例如异常抛出时的堆栈跟踪消息。参阅Reading and Writing Log Messages 获得更多关于将消息记录到LogCat的信息。

当设置完日志后,使用下列按钮就可以用LogCat来过滤特定消息:

Verbose

Debug

Info

Warn

Error

也可以通过自定义设置的过滤器来获得更详细的信息,例如可以用日志标签或进程ID来生成日志信息。使用过滤器的增、删和改按钮来管理自定义的过滤器。

模拟电话操作和位置

模拟器控制选项可以模拟手机的语音和数据网络状态。如果你想在不同网络环境下测试应用的健壮性,这会很有用。

改变网络状态、网速和网络延迟

模拟器控制选项卡的电话状态部分可以改变手机的网络状态、网速和网络延迟。下列选项可供使用并且设置后立即有效:

Voice - unregistered home roaming searching denied

Data - unregistered home roaming searching denied

Speed - Full GSM HSCSD GPRS EDGE UMTS HSDPA

Latency - GPRS EDGE UMTS

模拟来电或短信

模拟器控制选项卡的电话部分可以模拟电话和短信。这对测试应用在回应来电和短信方面的健壮性很有用。有如下操作:

Voice - 在 Incoming number 框输入号码,点击Call就给模拟器或电话设备拨打电话。点击Hang up按钮就挂掉电话。

SMS - 在 Incoming number 框输入号码在Message 输入短信内容,点击Send按钮发送短信。

设置电话位置

如果应用需要使用电话位置,使用DDMS可以给电话设备或AVD(安卓虚拟设备)设置模拟位置。如果想测试应用不同方面的跟位置有关的特性又不必实际改变物理位置,这会很有用。下面是可用的定位数据类型:

Manual - 通过手动指定的十进制或六十进制的经度和纬度值来设置位置

GPX - GPS 交互文件

KML - Keyhole 标记语言文件

要获得更详细的模拟位置数据的信息,请查看Location Strategies

Android Studio中怎么使用DDMS工具

这个要详细讲篇幅太大,因为DDMS里面内容比较多

复制一段话;

DDMS

的全称是Dalvik

Debug

Monitor

Service,它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、手机SMS、虚拟地理坐标等等。

说下简单的:

点击?旁边的机器人 

打开DDMS

左边是模拟器或者你的手机,以及一些正在运行的程序

右边就是各种提供的功能:什么文件浏览  

什么网络 

什么堆栈信息等,具体每个用法麻烦自己百度

讲下最常用的:

1、上图左边模拟器部分,右上角有个下拉箭头

可以重启DDMS连接调试,如果我们的端口被例如酷狗 

360一类占用了 

我们看不到我们的模拟器 

或者手机时  

需要先结束掉酷狗 

360的adb程序,然后此处重启adb

2、第二张图里的

查看数据库  

还有shareprences

保存的输

数据库 

data----data----你的应用包名---database

sp

在  

shared_prefs下

其他的自己看吧  

打字截图累死人


分享标题:包含ddmsandroid的词条
链接分享:http://njwzjz.com/article/dsdddei.html