Android处理器中removeCallbacks(Runnable r)的含义是什么
我想知道处理程序中removeCallbacks(Runnable r)的确切含义是什么。我查看了its,它只是说“删除消息队列中任何挂起的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
,它会停止处理我半完成的消息吗?或者,即使我调用removeCallbacks
,已经由我的处理程序开始处理的消息(当我调用post(Runnable r)
时)也将被执行?Runnable只能在它们从消息队列中出来时执行,因此,如果您的消息已经开始处理,则不应通过调用removeCallbacks
来影响它。它应该已经被删除,因此将继续处理。当您创建新的处理程序时,它将绑定到正在创建它的线程的线程/消息队列。从那时起,它将向该消息队列交付消息和可运行文件,并在它们从消息队列中出来时执行它们removeCallbacks
只是从队列中删除那些尚未开始处理的可运行程序。Hi Bill…还有一件事..如果我使用异步任务,在onPostExecute中运行时,然后调用asynctask.cancel(true),那么onPostExecute也将被取消?@AndroDev我不知道。这应该作为一个单独的问题发布。