源码分析Android Handler是如何实现线程间通信的
Handler作为Android消息通信的基础,它的使用是每一个开发者都必须掌握的。开发者从一开始就被告知必须在主线程中进行UI操作。但Handler是如何实现线程间通信的呢?本文将从源码中分析Handler的消息通信机制。
0x00 Handler使用
首先看看我们平时是如何使用的Handler的。先看看以下代码
//定义HandlerHandler mHandler = new Handler(){ public void handleMessage(Message msg){ switch(msg.what){ case UPDATE_UI:
updateUI(msg); break;
}
}
};class MyThread extends Thread{ public void run(){ //do same work!
... //send message
Message msg = mHandler.obtainMessage(UPDATE_UI);
mHandler.sendMessage(msg);
}
}private void updateUI(Message msg){ 

