为什么以及何时应该使用处理程序?

Why and when should I use a handler?

我最近看到了一个秒表应用程序的示例,其中开发人员使用处理程序对象来更新 TextView 上显示的时间。为什么不使用不断更新文本的普通循环而不是使用处理程序?

每个应用程序都有自己的特殊线程,用于运行 UI 个对象,例如 View 对象;此线程称为 UI Thread

考虑你的秒表示例,如果你只是在你的 activity 中添加循环并保持时间,那么它将 阻塞 你的 UI 线程和你的应用程序可能 无响应 。为了克服这个问题并且不阻塞 UI/Main 线程,我们使用单独的线程来执行此类 ongoing/long 任务。

所以他所做的是创建一个 Handler which will do the long running task and it sends the update to UI thread 以在需要时更新 textView。