最新回答 / 纪奕滨
class LooperThread extends Thread {public Handler mHandler;public void run() { Looper.prepare();//给线程创建一个消息循环 mHandler = new Handler() { public void handleMessage(Message msg) { // process incoming messages here } }; Looper.loop();//使消息循环起作用...
2016-05-22
已采纳回答 / Swy㏄
handlerThread是子线程的。平时在线程中实例化handler(首先的需要确定线程中包含looper)在线程中创建looper需要在线程的run()方法中先调用looper.prepare()来初始化looper,然后再run()方法后调用looper.loop()方法来死循环 这样就在当前线程中创建好了looper而handlerthread就是更加简单的用来创建线程中的looper
2016-05-22
已采纳回答 / 粗鲁的男人
每一个handler必须要对应一个looper,主线程会自动创建Looper对象,不需要我们手动创建,所以主线程可以直接创建handler。在new handler的时候没有传入指定的looper就会默认绑定当前创建handler的线程的looper,如果没有looper就报错。如果自己开个子线程,那肯定得自己创建looper对象啊,或者用HandlerThread,的getlooper也行。
2016-05-20