hanlder.post(new Runnable() {
public void run() {
for(int i=0; i<10; i++){
// 发送msg后不会立即执行handlerMessage方法,由于handler是同步的,所以在run结束后才执行
hanlder.sendEmptyMessage(0);
try {
Thread.sleep(1000 * 2);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("handler_send_msg"+i);
}
}
});
private Handler hanlder = new Handler(){
@Override public void handleMessage(Message msg) { super.handleMessage(msg); pd.incrementProgressBy(5); Toast.makeText(context, "hello world", -1).show(); System.out.println("handler_send_msg"); } };
console 打印出来的信息是:
由 System.out(22937): 可以看到是同一个线程
本文通过一个具体的示例详细解析了Android中Handler的消息处理机制。演示了如何使用Handler发送空消息并处理这些消息,同时展示了消息处理的时间顺序及Handler运行在同一个线程的特点。
3312

被折叠的 条评论
为什么被折叠?



