Android处理器中removeCallbacks(Runnable r)的含义是什么

Android处理器中removeCallbacks(Runnable r)的含义是什么,android,android-handler,Android,Android Handler,我想知道处理程序中removeCallbacks(Runnable r)的确切含义是什么。我查看了its,它只是说“删除消息队列中任何挂起的Runnable r帖子” 现在我的问题是,如果我的处理程序已经开始处理我的消息,并且在这两者之间,如果我调用removeCallbacks,它会停止处理我半完成的消息吗?或者,即使我调用removeCallbacks,已经由我的处理程序开始处理的消息(当我调用post(Runnable r)时)也将被执行?Runnable只能在它们从消息队列中出来时执行,

我想知道处理程序中removeCallbacks(Runnable r)的确切含义是什么。我查看了its,它只是说“删除消息队列中任何挂起的Runnable r帖子”


现在我的问题是,如果我的处理程序已经开始处理我的消息,并且在这两者之间,如果我调用
removeCallbacks
,它会停止处理我半完成的消息吗?或者,即使我调用
removeCallbacks
,已经由我的处理程序开始处理的消息(当我调用
post(Runnable r)
时)也将被执行?

Runnable只能在它们从消息队列中出来时执行,因此,如果您的消息已经开始处理,则不应通过调用
removeCallbacks
来影响它。它应该已经被删除,因此将继续处理。

当您创建新的
处理程序时,它将绑定到正在创建它的线程的线程/消息队列。从那时起,它将向该消息队列交付消息和可运行文件,并在它们从消息队列中出来时执行它们
removeCallbacks
只是从队列中删除那些尚未开始处理的可运行程序。

Hi Bill…还有一件事..如果我使用异步任务,在onPostExecute中运行时,然后调用asynctask.cancel(true),那么onPostExecute也将被取消?@AndroDev我不知道。这应该作为一个单独的问题发布。