我最近看到了一个秒表应用程序的示例,其中开发人员使用处理程序对象来更新TextView
上显示的时间。为什么不使用一个不断更新文本的普通循环而不是使用处理程序?
答案 0 :(得分:2)
每个应用都有自己的特殊线程来运行UI对象,例如View对象;此主题称为 UI Thread 。
考虑到秒表示例,如果您只是在活动中添加循环并保持时间,则阻止您的UI线程,您的应用可能会无响应。为了克服这个问题而不是阻止UI /主线程,我们使用单独的线程来执行这样的持续/长期任务。
所以他所做的是创建Handler,它将执行长时间运行的任务,并在需要时发送update to UI thread以更新textView。