首页 > 编程知识 正文

hander机制原理

时间:2023-05-06 00:49:37 阅读:178767 作者:3451

硬件机制:

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的更新。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。