




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-,1,第四章使用DDMS,Dalvik虚拟机调试监控服务(DDMS,DalvikDebugMonitorService)是一组实用工具的有机结合,开发者可以通过DDMS监视模拟器甚至是真实设备。包括的工具:任务管理器(TaskManager)文件浏览器(FileExplorer)模拟器控制台(Emulatorconsole)日志控制台(Loggingconsole),-,2,认识DDMS,打开程序,并运行它。运行DDMS来观察程序的运行状况打开DDMS:在Eclipse中选择Windows,在菜单中选择OpenPerspective,在弹出的菜单中选择DDMS,在DDMS中,你可以:(1)查看设备列表,以及各个设备的运行状态。(2)通过Logcat查看程序的日志记录。(3)通过文件浏览器FileExplorer,查看并操作设备上的文件。(4)查看每个进程或线程状态;触发Java的垃圾回收(GC);查看应用程序使用的堆;同样可以终止线程。(5)捕捉屏幕,通过ScreenCapture可以很方便地捕捉模拟机或者真实设备的屏幕画面。(6)模拟发送GPS、模拟来电等。,1.关联调试器关联调试器的具体步骤为:(1)在左侧的设备面板中选中你要调试的包名,使其高亮。(2)单击上方的绿色小虫标志开始调试。单击后,我们已经完成了调试器的关联。接下来我们可以查看线程。,2.查看线程依然选中要调试的包名使其高亮,接着单击上方的三个向右的箭头图标,该按钮名为updatethreads。这时在右侧面板的Threads标签中就可以看到该进程中运行的一系列线程了,如下图所示。,3、查看线程内部运行的方法(1)打开Threads标签页。(2)选中你要查看的线程。(3)单击refresh按钮。,4.查看堆统计使用DDMS甚至可以查看应用程序的堆的统计数据。查看时需要执行的步骤为:(1)在左侧面板中找到要查看的包,选中它。(2)单击绿色的小桶图标,该按钮的名字是updateheap。这时数据将显示在右侧的Heap标签页中。也许这个时候还没有任何数据显示,不要着急,单击一下CauseGC就可以看到数据出现了。这时因为Heap标签页是在每次GC之后才会刷新数据,除了被动等待垃圾回收(GC)以外,我们可以通过单击刚才的CauseGC主动触发垃圾回收。,这个时候,在右侧的Heap标签页中显示如图所示:,(3)选中任意对象,它的使用状况将会以图表的形式显示在下方的面板中,如下图所示:,-,10,5.终止进程终止进程的方法为:(1)选中你要终止的进程。(2)单击红色的停止符号图标,该按钮的名字是StopProcess。单击后该进程则被终止,调试结束。,-,11,使用文件浏览器,文件浏览器可以帮助我们很方便地查看模拟器或者设备上的文件,我们可以使用它将文件从手机导入到电脑,或将文件从电脑推送到手机。打开文件浏览器的方法为:(1)选中你要查看的设备,使其高亮。(2)选择Window,在弹出的菜单中选择ShowView,接着选择FileExplorer。,操作示意如图所示:,1.从手机上拷贝文件如果希望从手机设备上将文件拷贝到电脑上,只需如下3个步骤:(1)选中你希望操作的文件。(2)单击文件浏览器标签页右上角的向左箭头图标,该图标名为:Pullafilefromthedecvice。(3)在弹出的浏览窗中选择文件的保存地址,确定后单击保存就可以了,如下图所示。,2.从电脑上拷贝文件到手机拷贝文件到手机时,同样需要如下3个步骤:(1)在文件浏览器中选择你希望保存文件的文件夹,使其高亮。(2)单击文件浏览器标签页的右上角向右箭头图标,该图标名为:pushafileontothedevice。(3)在弹出的浏览窗口中选择目标文件,选中后单击打开,如下图所示。,3.删除文件目前文件浏览器只支持删除文件而不支持删除整个文件夹。删除文件时,步骤如下:(1)选中你要删除的文件,使其高亮。(2)在右上角单击红色的横线符号。需要注意的是,该擦操作没有任何提示,所以执行时需要小心确认以防止误删,因为被删除的文件是没有办法恢复的。,-,16,使用模拟器控制,使用模拟器控制可以对模拟器进行操作,模拟以下状态:(1)模拟语音来电。(2)模拟发送短消息。(3)模拟发送GPS信号。,接下来我们一一模拟这些常见情况:1.语音来电需要模拟语音来电时需要按照以下步骤:(1)在DDMS的左侧面板中选中你需要操作的模拟器。(2)在EmulatorContaol面板中的TelephonyActions菜单下的Incomingnumber编辑框中输入任意号码。(3)选择Voice选项。(4)单击Call按钮。,(5)使用Hangup可以挂起,图1显示了模拟时的操作界面。当有模拟成功时,模拟器显示如图2所示来电显示。图1图2,2.模拟接受短信息需要模拟语音来电时需要按照以下步骤:(1)在DDMS的左侧面板中选中你需要操作的模拟器。(2)在EmulatorContaol面板中的TelephonyActions菜单下的Incomingnumber编辑框中输入任意号码。(3)选择SMS,在Message对话框中填入模拟的短消息内容。(4)单击Send模拟发送。,(5)模拟器接收到短消息时显示如下图所示。,3.模拟发送GPS信息模拟发送GPS信息需要以下几个步骤:(1)在DDMS的左侧面板中选中你需要操作的模拟器。(2)在EmulatorContaol面板中下拉,直到LocationControls。(3)在Longitude与Latitude编辑框中分别输入经度和纬度。,(4)单击Send发送GPS信号,操作如图1所示。(5)在模拟器中打开Maps应用程序,单击Menu按钮,选择MyLocation。这时程序接收模拟的GPS信息并定位,显示如图2所示。图1图2,这里需要注意的是在新建模拟器时需要选择GoogleAPIsAPILevel8,否则无法支持GPS功能,新建模拟器时选择如下图所示。,-,24,使用日志,日志是开发人员在调试程序时必不可少的一个工具,我们可以通过它查看程序的信息,出现异常的情况,以及错误发生的具体代码段等。使用Logcat需以下几个步骤:(1)选中你需要调试的程序,使其高亮;,(2)在Windows菜单中选择ShowView,在弹出的菜单中选择Logcat,如下图所示;,(3)单击后即出现程序的日志输出,显示大约如下图所示。,在日志标签页有五种信息级别:V、D、I、W、E。(1)V:Verbose,详细信息,即显示所有信息。(2)D:Debug,调试信息,只显示D、I、W、E信息。(3)I:Information,只显示I、W、E三种信息。(4)W:Warning,警告信息,只显示W、E两种信息。(5)E:Error,错误信息,只显示E一种信息。,为了更好地帮助调试,在代码中我们可以添加一些适当的日志输出。例如,我们可以对HelloWorld代码进行如下修改:publicclassHelloWorldextendsActivitypublicstaticfinalStringTAG=MY_DEBUG;OverridepublicvoidonCreate(BundlesavedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.main);Log.d(TAG,第一条日志打印);,再次运行程序,我们会发现在日志中多了一条打印,如下图所示:,既然debug信息是Log.d(),那么必然还有Log.v(),Log.i(),Log.w()Log.e()。那么让我们实验一下,继续修改HelloWorld代码:publicclassHelloWorldextendsActivitypublicstaticfinalStringTAG=MY_TAG;OverridepublicvoidonCreate(BundlesavedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.main);Log.v(TAG,Verbose);Log.d(TAG,Debug);Log.i(TAG,Information);Log.w(TAG,Warning);Log.e(TAG,Error);,运行以上代码,我们可以在Logcat中发现如下输出:,也许读者会说我只想看我添加的调试信息怎么办?这个时候我们可以使用自定义的日志过滤器,使用方法为:单击右上角的+号,在弹出的如图1所示的对话框中填入相关信息。例如,按照Tag过滤,按照进程Id过滤,按照日志等级过滤等等。这里我们选择按照Tag过滤,单击OK按钮后,我们可以看到日志输出中只有我们自己的日志打印了,如图2所示:图1图2,-,33,使用ScreenCapture捕捉设备屏幕,截屏对于开发者来说一直是一个麻烦的问题,而DDMS的Scr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年招标采购从业人员专业技术能力考试(招标采购合同管理中级)测试题库及答案吉安
- 江苏省泰州市招标采购从业人员专业技术能力考试(招标采购合同管理中级)测试题库及答案(2025年)
- 《科里亚的木匣》课件
- 《破阵子》辛弃疾课件
- 2025水果收购合同模板
- 广东省深圳市坪山区2022-2023学年高三下学期高考二模物理考点及答案
- 文员年度工作总结及计划
- 2025外部合作合同协议范文
- 2025短期劳动合同模板:雇佣临时工协议范本
- 洛钼集团季度汇报
- 2025年上海市黄浦区高三二模英语试卷(含答案和音频)
- 教导处 教学质量提升方案
- 模拟三力测试题及答案
- 大局观和全局意识培训
- 电大教学检查自查报告
- 《公路运营领域重大事故隐患判定标准》知识培训
- 物业秩序维护内部管理作业规程
- 病历质控培训课件
- 老年骨质疏松性疼痛诊疗与管理中国专家共识2024解读课件
- 电机维护检修培训课件
- 建筑工程后续服务承诺与质量保障措施
评论
0/150
提交评论