处理程序的重点?

时间:2012-04-12 19:15:02

标签: android handlers

我知道这很可能是一个非常愚蠢的问题,但我无法完全理解处理程序的重点。我知道这个想法是Handlers在主线程上执行,它们似乎最常用于工作线程,但为什么工作线程不能只调用调用Activity上的方法而不是所谓的Activity创建线程和Handler接收消息?

再次,我为我的问题无知而道歉,但我在网上找到的所有内容都是关于如何使用处理程序的教程而我的专业版Android 3书籍并没有解决我的问题(或者我太愚蠢了解它正确!)

或者,就此而言,为什么要在AsyncTasks上使用它们,它可以毫无问题地修改UI?

谢谢。

1 个答案:

答案 0 :(得分:5)

使用处理程序(或消息)时,每个任务都会“序列化”。 这样做的优点是没有并发性,因此无需锁定。 使消息驱动系统比多线程系统更容易稳定。

顺便说一句AsyncTask也使用Handlers

直接使用处理程序可以提供更大的灵活性。 例如,您可以安排将来发送消息。 或者您可以中止预定的消息。

处理程序是一个非常强大的工具。