Handler在post方法中,其实调用的是sendMessageDelay(runnable, 0),然后把Message.callback = runnable;也就是说Runnable对象其实也是以Message对象的方式存到了MessageQueue中了,众所周知的是,每次Looper对象从MessageQueue中取Message的时候,都是首先判断该Message.callback是否为null,如果为null,则再执行Handler中mCallback,如果仍旧为空,则再执行HandlerMessage(msg)。也就是说如果该Message有callback就执行了runnable对象。。。。
Handler.post(Runnable runnable)中的Runnable对象去哪里了?
最新推荐文章于 2023-02-16 11:37:24 发布