0

根据Android文档

“一个 Handler 允许您发送和处理与线程的 MessageQueue 关联的 Message 和 Runnable 对象。每个 Handler 实例都与一个线程和该线程的消息队列相关联。当您创建一个新的 Handler 时,它会绑定到线程/消息队列创建它的线程——从那时起,它会将消息和可运行对象传递到该消息队列,并在它们从消息队列中出来时执行它们。”

我完全在多线程应用程序中使用 Handler,其中一个线程将使用 Handler 发布到另一个线程消息队列,但是在单线程应用程序中 Handler 的用途是什么。我之所以问这个问题是因为我在 developer.google.com 上看到了几个在单线程应用程序中使用 HAndler 的示例应用程序。是一个例子。

4

1 回答 1

1

您发布的代码示例不是单线程的 - 例如 AsyncTask 的 doInBackground() 方法在与 UI 线程分开的线程上运行。这就是在该方法中调用 Handler 的原因。

阅读 AsyncTasks,然后查看示例中的 ReverseGeocodingTask。

于 2012-10-05T18:24:58.827 回答