在主线程当中定义生成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();
本文详细介绍了在Android应用开发中,如何利用Handler对象实现不同线程间的通信。具体包括如何通过Handler发送Runnable任务,并将其放入消息队列中等待处理,以及Looper是如何从消息队列中取出并执行这些任务。
方法&spm=1001.2101.3001.5002&articleId=51924379&d=1&t=3&u=23f73f993d5a4d2690dca574de9c7434)
1万+

被折叠的 条评论
为什么被折叠?



