使用Activity.runOnUiThread或Handler.post(runnable action)在Android中有什么区别/优点/缺点?
Eri*_*ass 23
Activity.runOnUiThread,就像它的名字所暗示的那样,将在当前负责UI的线程中执行Runnable.因此,如果您有CPU密集型任务,它可能会使UI在短时间内无响应.相反,Handler提供了一种方法来创建线程,运行一些代码,并在完成后通知UI(即Handler.sendMessage).
Handler的文档比我更好地说明了这一点:
为应用程序创建进程时,其主线程专用于运行消息队列,该队列负责管理顶级应用程序对象(活动,广播接收器等)及其创建的任何窗口.您可以创建自己的线程,并通过Handler与主应用程序线程进行通信.这是通过调用与以前相同的post或sendMessage方法完成的,但是来自您的新线程.给定的Runnable或Message将在Handler的消息队列中进行调度,并在适当时进行处理.
| 归档时间: |
|
| 查看次数: |
11899 次 |
| 最近记录: |