Android handler 异步消息处理机制。
在Android中activity 和 Service 通信都是通过Handler来完成的。
handler.post(Runnable) :将线程添加到线程队列
handler.sendHandler(Message msg) 将消息添加到消息队列
Message msg = handler.obtainMessage(); //通过handler 得到一个消息对象
handler.removeCallBacks(Runnable);
以上介绍的handler是在主线程中运行的,如果想要开启新的线程,并将handler绑定到其他线程上时需要借助于Looper对象,
Android API提供了HandlerThread线程类,该类继承了Thread,并且提供GetLooper()方法,可以通过此方法得到一个Looper对象。
HandlerThread thread = new HandlerThread("my_thread");
thread.start();
handler = new MyHandler(thread.getLooper());
Message msg = handler.obtainMessage();
Bundle b = new Bundle();
b.putInt("age", 1);
b.putString("name", "qiagzi");
msg.setData(b);
msg.sendToTarget();