當工作線程給主線程發送消息時,因為主線程是有looper的,所以不需要初始化looper,註意給誰發消息就關聯誰的handler,此時用的就是主線程的handler handler會把消息發送到MessageQueue隊列中,looper會不斷的去遍歷MessageQueue隊列,當一有消息時就會回 ...
當工作線程給主線程發送消息時,因為主線程是有looper的,所以不需要初始化looper,註意給誰發消息就關聯誰的handler,此時用的就是主線程的handler
handler會把消息發送到MessageQueue隊列中,looper會不斷的去遍歷MessageQueue隊列,當一有消息時就會回調handler的handleMessage方法!
當主線程給工作線程發消息時,關聯的是子線程的handler,子線程是沒有looper的。所以我們需要調用Looper.prepare(),初始化一個Looper,放入Threadlocal中,
最後要調用looper.loop方法開始輪詢MessageQueue隊列裡面的消息,機制也是回調機制!