在单线程应用中使用Handler

时间:2012-10-05 18:19:19

标签: android multithreading handler

根据Android文档

  

“Handler允许您发送和处理Message和Runnable对象   与线程的MessageQueue相关联。每个Handler实例都是   与单个线程和该线程的消息队列相关联。什么时候   你创建一个新的Handler,它绑定到线程/消息队列   正在创建它的线程 - 从那时起,它将传递   消息和runnables到该消息队列并按它们执行它们   从消息队列中走出来。“

我完全在Multi-Threaded应用程序中使用Handler,其中一个线程将使用Handler发布到其他线程消息队列,但是在单线程应用程序中使用Handler有什么用处。我之所以这么问是因为我在单线程应用程序中使用HAndler在developer.google.com上看到了几个示例应用程序。 Here就是一个例子。

1 个答案:

答案 0 :(得分:1)

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

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