我发布这个问题是因为我想知道我对基础知识的想法是否正确。
应该清楚的是 UI-Thread 包含 a MessageQueue
,它与 a 相关联,Looper
用于从队列中获取消息/可运行对象以进行处理。
此外,aHandler
向 发送消息/可运行Looper
文件,后者将对象集成到MessageQueue
.
如果我是对的MessageQueue
,那是堆栈,而Looper
是传入和传出对象的看守者。
这引出了我的下一个问题。如果一个消息对象被 UI-Thread 处理,它会被回收到全局消息池中。但是没有关于此的明确文档。这个消息池有特定的大小吗?如果我发送/获取消息,它是否可扩展/可收缩?
如果这是真的,则池可能会因获取许多消息而变干。我无法相信这一点。考虑这样一种情况,您必须在特定时间段内获取一些消息而不将它们发回回收。
编辑使其更易于理解。