android studio 353,android studio最新版本

首页 > 大全 > 作者:YD1662022-12-19 06:59:38

这时候我们点击Genymotion模拟器中桌面的一个图标,启动新的界面。

会发现这时候我们设定的断点已经生效。

android studio 353,android studio最新版本(5)

你可以看到断下来的堆栈信息,以及一些变量值,然后我们可以一步步调试下去,跟踪启动的流程。

android studio 353,android studio最新版本(6)

对于学习系统服务线程来讲,通过调试可以快速掌握流程,再结合阅读源码,便可以快速学习,掌握系统框架的整个逻辑,从而节省学习的时间成本。

以上我们验证了系统服务AMS服务代码的调试,其他服务调试方法也是一样,具体的线程信息,可以使用下面的命令查看。

ps -T 353

这里353是使用ps -A |grep system_server查出 SystemServer的进程号

android studio 353,android studio最新版本(7)

在上面图中,PID = TID的只有第一行这一行,如果PID = TID的话,也就是这个线程是主线程。下面是我们平时使用Logcat查看输出的信息。

03-10 09:33:01.804 240 240 I hostapd : type=1400 audit(0.0:1123): avc: de

03-10 09:33:37.320 353 1213 D WificondControl: Scan result ready event

03-10 09:34:00.045 404 491 D hwcomposer: hw_composer sent 6 syncs in 60s

这里我还框了一个ActivityManager的线程,这个是线程的名称,通过查看这行的TID(368)就知道下面的Log就是这个线程输出的。

03-10 08:47:33.574 353 368 I ActivityManager: Force stopping com.android.providers

学习完上面的知识,相信你应该学会了系统服务的调试。通过调试分析,我们便可以将系统服务框架进行庖丁解牛般的学习,面对大量庞杂的代码掌握起来也可以轻松一些。

我们回过头来,再次在终端中输入ps -A,看看下面这一段信息。

android studio 353,android studio最新版本(8)

上一页123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.