根据Android文档
“Handler允许您发送和处理Message和Runnable对象 与线程的MessageQueue相关联。每个Handler实例都是 与单个线程和该线程的消息队列相关联。什么时候 你创建一个新的Handler,它绑定到线程/消息队列 正在创建它的线程 - 从那时起,它将传递 消息和runnables到该消息队列并按它们执行它们 从消息队列中走出来。“
我完全在Multi-Threaded应用程序中使用Handler,其中一个线程将使用Handler发布到其他线程消息队列,但是在单线程应用程序中使用Handler有什么用处。我之所以这么问是因为我在单线程应用程序中使用HAndler在developer.google.com上看到了几个示例应用程序。 Here就是一个例子。
答案 0 :(得分:1)
您发布的代码示例不是单线程的 - 例如,AsyncTask的doInBackground()方法在与UI线程分离的线程上运行。这就是为什么在该方法中调用Handler的原因。
阅读AsyncTasks,然后查看示例中的ReverseGeocodingTask。