android中handler,Message,looper的理解
简单的说下:
一个线程会有一个Looper,主线程会自动创建一个Looper对象和一个Message队列。其他线程需要手动去创建。一个looper负责维护一个Message队列,此looper不断的轮训该Message队列,获取信息,并处理。
handler大致是帮顶在looper上的一个处理类,调用该类的handleMessage方法去处理轮训到的Message。
Looper分为主线程Looper和一般的Looper,主线程Looper通过Looper.getMainLooper获得。在线程中使用一般的Looper时,通过调用myLooper()方法获得Looper对象,需要调用Looper.prepare()方法,这样线程就有了自己的Looper和Message队列了。
具体参考:http://www.eoeandroid.com/forum-viewthread-tid-49595-highlight-looper.html