Because you need to focus on the threads in your app recently, you can view the threads of an app in DDMS:
You can see that each thread has its own status attribute, what does the different status represent?
running–executing application code– is executing the application and is processing the message exactly.
Sleeping–called Thread.Sleep () – Executes the Thread.Sleep () method, the thread yields the CPU and is hibernating.
Monitor–waiting to acquire a monitor lock– is waiting to acquire a listening lock and the thread is blocked.
Wait–in object.wait () – In the Object.wait () method, the thread is blocked.
Native–executing Native code– executes the native code, which is a normal state for threads with Message Queuing, indicating that Message Queuing has no messages, that the thread loops in the native code indefinitely until a new message appears in the message queue. Message Queuing will not return Java code processing messages.
Vmwait–waiting on a VM resource– is waiting for a virtual machine resource
Zombie–thread is in the process of dying– the thread is dead
Init–thread is initializing (u shouldn ' t see this) – The line is impersonating in the initialization (you won't be seeing this)
Starting–thread is on-to-start (you shouldn ' t seeing this either) – the thread is starting up (you won't see that either)
from:http://blog.csdn.net/zhouyingge1104/article/details/42556163
"Go" ddms description of the thread status