android eclipse ddms 查看线程,android ddms中查看线程释疑

android ddms中查看线程释疑

时间:2011-05-06 10:10:46 来源:DevDiv移动开发社区 作者:Vincent

大家都用过ddm,如果你用ddms查看一个程序的所有线程,你会发现

Signal Catcher

Heap Worker

main thread

binder thread #1

binder thread #2

那这些线程都是用来做什么的呢?

我来给大家介绍一下android中的线程

在Android系统中,Java层和c++/c层都可以创建线程。不过Java层创建的线程最终都由c++/c层来实现。使用ddms这个工具可以查看虚拟机实例进程(除zygote本身和由native code创建的进程,比如vold外)所包含的线程大致信息。比如线程名字,id号,状态,user time和system time等。

大家可以看到一般一个虚拟机实例进程都包含有如下7个通用的线程,下面大致讲一下这些线程的作用和创建流程。

1. main

这个就是主线程了。具体流程待细述。

2. HeapWorker

一个异步的工作线程,处理那些需要在单独线程里面做的避免同步问题的堆操作。其源代码在dalvik/vm/alloc/HeapWorker.*部分。

3. Signal Catcher

这个线程是用来捕获linux信号和做一些后续处理的。比如说,当一个SIGQUIT (Ctrl-\)信号到达后,这个线程就会挂起虚拟机,并且将所有线程的状态信息输出到log。其源代码在dalvik/vm/SignalCatcher.*部分。

4. JDWP

这个线程是用来实现Java Debug Wire Protocol的。如果命令行调试器的参数为"suspend=y",这样会暂停虚拟机。这个估计和eclipse的调试和ddms等调试工具相关。其源代码在dalvik/vm/jdwp/*部分。

5. Stdio Converter

这个线程从标准输出和标准错误输出读取信息并将它们转换为log信息。其源代码在dalvik/vm/StdioConverter.*部分。

6. Compiler

Android's Jit独立于目标平台的部分。其源代码在dalvik/vm/compiler/Compiler.*和dalvik/vm/interp/Jit.*等部分。

7. Binder Thread #%d

使用binder进行通讯时用到的线程。其源代码在frameworks/base/libs/binder/*等部分。

以下的线程属于system_server和应用程序专有线程,视具体应用的需求而定。

8. system_server专有

android.server.ServerThread

ActivityManager

ProcessStats

PackageManager

FileObserver

AccountManagerService

SyncHandlerThread

UEventObserver

PowerManagerService

AlarmManager

WindowManager

InputDeviceReader

WindowManagerPolicy

InputDispatcher

ConnectivityThread

WifiService

WifiWatchdogThread

LocationManagerService

AudioService

GpsEventThread

GpsNetworkThread

android.hardware.SensorManager$SensorThread

watchdog

Wallpaper

com.android.server.MountListener

9. misc

其他部分线程由java层的api提供,Thread等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值