android - 处理程序的重点是什么?

标签 android handlers

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

再次,我为我对问题的无知表示歉意,但我在网上找到的只是有关如何使用处理程序的教程,而我的 Pro Android 3 书并没有解决我的问题(或者我太愚蠢而无法理解它)正确!)

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

谢谢。

最佳答案

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

顺便说一句,AsyncTask 也使用处理程序

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

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

关于android - 处理程序的重点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10130225/

相关文章:

java - 如何使用套接字编程在两个 android 手机之间创建实时音频流..?

android - 协调器布局和运动布局有什么区别?

java - Zxing 库不在 fragment Activity 中显示扫描结果

java - 每秒更新 TextView 中的数字

events - Laravel 事件处理程序和监听器

android - 取消 AlarmManager 的问题 - PendingIntent

android - 屏幕旋转后如何恢复textview滚动位置?

python - 如何编写网络协议(protocol)处理程序

sharepoint - Sharepoint with Office 2007 文档中的 ItemUpdate 后数据消失

python - 日志记录处理程序是否使用单独的线程?