Android编程中使用的处理程序和Runnables是什么。他们之间有什么关系?另外,处理程序与Threads有何不同?
答案 0 :(得分:0)
差异很小,两者都在单独的执行流程中执行,即具有自己的执行上下文。在Android编程中,某些指令应该在非UI线程中执行。例如,网络。这就是Runnable和Handler的想法。唯一重要的区别是Handler应该在发生某些异步事件时执行,而Runnable只在程序员希望执行时执行
答案 1 :(得分:0)
它们之间没有区别.Handler是线程类的子类。
Handler
允许以安全的方式在两个线程之间发送消息,这意味着发送线程将消息放入目标线程队列,并且此目标队列将在适当的时间处理此消息。
Runnable
这是一个你实现的接口,在实现中你将逻辑放在某个线程上。实际上,您也可以在非线程相关的位置使用Runnable。很多Java apis实际上都使用Runnable,而不仅仅是Thread。您可以使用处理程序发布Runnable,也可以将其与执行程序一起使用。 Runnables很不错,因为你可以以匿名实现的形式实现它们。