【发布时间】:2012-09-17 21:45:57
【问题描述】:
我发布这个问题是因为我想知道我对基础知识的看法是否正确。
应该清楚的是,UI-Thread 包含一个MessageQueue,它与一个Looper 相关联,用于从队列中获取消息/可运行对象进行处理。
此外,Handler 将消息/runnables 发送到Looper,后者将对象集成到MessageQueue。
如果我是对的,MessageQueue 是堆栈,Looper 是传入和传出对象的看守者。
这就引出了我的下一个问题。如果一个消息对象被 UI-Thread 处理,它将被回收到全局消息池中。但是没有关于此的明确文档。这个消息池有特定的大小吗?如果我发送/获取消息,它是否可扩展/可收缩?
如果这是真的,那么池可能会因获取大量消息而变干。我无法相信这一点。想一想这样一种情况,您必须在特定时间段内获取一些消息而不将它们发回回收。
经过编辑使其更易于理解。
【问题讨论】:
标签: android handler message-queue looper