0

所以我有一个大的(最多 5000 个)预定义的、时间敏感的消息数组,我希望我的程序发送给处理程序。其中一些消息需要相隔 40 毫秒。我想我可以调用一堆 sendMessageAtTime() 将它们排队,然后在适当的时间为每个人调用我的 Handler。

不幸的是,至少在我的 AVD 中,它似乎执行了几次处理程序,然后在发送最后一条消息之前什么都不做。处理程序没有跟上?(即不能在下一次调用之前完成?)

sendMessageAtTime() 是否等待发送消息,直到 Handler 完成其当前消息?

如果发送消息的指定时间已过去,会发生什么情况?它是完全丢弃消息还是在发送队列中的任何其他“稍后”消息之前发送消息?

有什么技术可以让 Handler “跟上”吗?例如,我可以在发送给处理程序的消息中包含请求的时间,以便处理程序在确定为时已晚时什么也不做。

谢谢。

4

0 回答 0