在我的Android应用程序中,我有许多自定义任务对象(实现了Runnable接口),我将它们发布到非UI线程上的Handler中。 根据应用程序其他地方的一些逻辑,我想在特定时间查看队列中的内容。 从查看Handler API来看,我发现可以查询处理程序上的消息,但不能查询回调函数? 有没有办法执行此操作?使用相同的参数删除回调似乎很奇怪,但不能查询....
浏览 Handler,MessageQueue 和 Message 源代码后,我认为不可能查询队列中的内容。消息是在MessageQueue.enqueueMessage()中添加的,在MessageQueue.next()中删除的。而且无法查询队列中的内容。在Handler.postXXX(Runnable...)中添加的Runnables也会被包装成一个Message对象。