From(Android Handler类) http://developer.android.com/reference/android/os/Handler.html#postAtTime(java.lang.Runnable,很久), postAtTime方法的描述是“将Runnable r添加到消息队列中,在uptimeMillis给定的特定时间运行。时间基准为uptimeMillis()。”参数uptimeMillis是“使用uptimeMillis()时基运行回调的绝对时间”。我的问题是,如果在postAtTime触发时仍然需要运行runnables / messages,那么这些runnables / messages就会被丢弃(从队列中删除)。我的问题来自于我对队列的经验:你只能访问队列的前面,所以我假设特定的消息/ runnable被移动到队列的前面。它跳过的所有东西会发生什么? API没有解决这个问题
答案 0 :(得分:1)
将时间参数视为"不早于",而不是确切的时间。
runnable被放入队列并有资格在指定时间运行。它实际上只在队列前面的任何消息完成处理后运行。
有关详细信息,您可以read the source。