在Android中,使用Handler来控制UI程序界面的变化,Handler的作用为与其他线程协同工作,接收其他线程的消息,并通过接收到的消息更新主UI线程的内容。
在Android中我们将一些耗时的操作放到子线程中执行,但因为子线程涉及到ui更新,而android的主线程是线程不安全的,所以更新UI的操作只能放在子线程中去执行,所以引入一种机制,就是UI线程用来发送名命令/任务给子线程,然后子线程返回执行的结果。
工作原理:
一般情况下,在主线程中绑定Handler,并在事件触发上面创建新线程用于完成某些耗时的操作,当在线程中的工作完成后,会对handler发送一个完成的信号, 而Handler接收到信号后。就进行UI界面的更新操作。
必知知识:
若在主线程中实例化一个handler对象,Handler handler = new Handler(),此时并没有派生出一个线程来执行handler