在主线程当中定义生成Handler对象
在workerThread的run方法中生成一个Runable对象,然后执行handler,post(Runable r)方法,实际是主线程直接执行Runable对象的run方法。
1、如何把一个Runable对象放置在消息队列中?
答:生成一个Message对象message,将Runable r 赋值给message的callback属性,再把message放置到消息队列当中。
2、Looper 取出了携带有r对象的Message对象之后,干了什么?
答:取出Message对象之后调用了dispatchMessage方法,然后判断Message的callback属性是否为空,如果此时callback属性有值(Runable r),所以执行了handlecallback(Message msg)方法,在该方法中执行了 msg.callback.run();