关于Android中处理程序的问题

时间:2011-09-28 10:28:50

标签: android handler

如果我做对了,处理程序就像一个队列。所以我的简单问题是,如果我首先发布延迟,那么我会定期发帖。第二篇文章会在第一篇推迟发布后发布吗?

handler.postDelayed(someMethod(), 10000);
handler.post(someOtherMethod());

someOtherMethod()是否会在someMethod()

之后运行

3 个答案:

答案 0 :(得分:1)

不,不会。当所有挂起的处理程序请求(在UI线程上)完成时,将立即执行第二个。第一个将在10秒后追加。

提示:处理程序采用Runnable,所以它看起来像这样:

handler.post(new Runnable {
    public void run() {
        doSomething();
    }
}
根据评论

更新

处理程序在调用new Handler()的线程上调用已发布的runnable。

答案 1 :(得分:0)

不,第二篇文章将尽快开始(在第一篇之前)。

答案 2 :(得分:0)

不,处理程序帖子是异步的。什么handler.post()它将runnable添加到消息队列。 handler.postDelayed()立即将runnable添加到消息队列,但定时器将设置为延迟ms,之后将执行runnable。

所以所有帖子都是,将runnable添加到消息队列。