硬件机制:
Hander机制是我们在编程过程中,与APP应用程序之间使用最多的机制。 当我们对APP应用程序执行UI操作时,我们无法直接在子线程(非UI线程)上执行UI操作。 到时候你需要用汉德勒。 handler的原理是发送消息和处理消息的过程。
Android Handler机制:中的每条消息都必须由指定的Handler处理。 可以通过在Handler中创建消息来实现此功能。 创建消息时,Handler首先询问消息池中是否存在消息,如果存在直接从消息池中获取的消息,则重新初始化消息实例。 使用消息池的优点是,如果没有使用消息,可以将其放入消息池中,而不是作为垃圾回收,以便下次Handler创建消息时使用。 消息池改进了消息对象的重用,并减少了系统的垃圾回收次数。
虽然可以在一个线程中创建多个Hander,并允许msg.target确保消息队列中的每个msg都传递给发送消息的handler进行处理,但是每个线程最多只能有一个Looper
Handler的具体使用方法有两个:
a、1、在UI线程中创建handler
2 .将在ui线程中创建的handler的内存地址引用传递给子线程
3、通过子线程内的run方法获取handler消息池内的消息。
4、封装消息内容
5、通过handler发送此消息。
6、handler接收该消息并进行消息处理。
(PS:或更高版本中的所有handler都是指在UI线程中创建的handler。)
b、1、在UI线程上获取Looper
2 .将通过ui线程获取的Looper传递给子线程
3、在子线程的run方法中通过looper的传递实例化handler
(此handler是处理UI控件的handler。)
4、直接重写该handler的handleMessage方法,完成UI的更新。