如何在 Android 编程中使用处理程序和 Runnables



Handlers and Runnables 在 Android 编程中的用途是什么?它们之间是什么关系?另外,处理程序与线程有何不同?

差异很小,两者都在单独的执行流中执行,即有自己的执行上下文。在 Android 编程中,某些指令应该在非 UI 线程中执行。例如,网络。这就是 Runnable 和 Handler 浮现在脑海中的地方。唯一重要的区别是,Handler 应该在发生某些异步事件时执行,而 Runnable 在程序员希望执行时执行

它们之间没有区别。处理程序是线程类的子类。

Handler

允许以安全的方式在两个线程之间发送消息,这意味着发送线程将消息放入目标线程队列,此目标队列将在适当的时间处理此消息。

Runnable

这是您实现的接口,在实现中,您将要执行的逻辑放在某个线程上。您实际上也可以在与线程无关的地方使用 Runnable。许多Java API实际上使用Runnable,而不仅仅是Thread。您可以使用处理程序发布 Runnable,也可以将其与执行器一起使用。Runnables很好,因为你可以以匿名实现的形式实现它们。

最新更新