Android HandlerThread的使用

本文详细介绍了HandlerThread的使用方法,包括创建、获取Looper及创建Handler的过程,并解释了为什么使用HandlerThread来实现线程间通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,使用HandlerThread

1,创建一个HandlerThread,即创建了一个包含Looper的线程

HandlerThread handlerThread = new HandlerThread("zcn.com");
handlerThread.start();     //创建HandlerThread后一定要记得start()

2,获取HandlerThread的Looper

Loopper looper = handlerThread.getLooper();

3,创建Handler,通过Looper初始化

Handler handler = new Handler(looper);

通过以上三步我们就成功创建HandlerThread,通过handler发送消息,就会在子线程中执行。
如果想让HandlerThread退出,则需要调用handlerThread.quit();

二,为什么要用HandlerThread

在我们应用程序当中为了实现同时完成多个任务,所以我们会在应用程序当中创建多个线程,为了让多个线程之间能够方便的通信,我们会用Handler实现线程间的通信。

如何在线程中实例化Handler,在线程中实例化Handler我们需要保证线程中包含Looper
注:UI-Thread默认包含Looper

为线程创建Looper的方法如下:
在线程run()方法中先调用Looper.prepare()初始化Looper,然后再run()方法最后调用Looper.loop(),这样我们就在该线程中创建好Looper(注:Looper.loop()方法默认是死循环)我们实现Looper有没有更加简单的方法呢?
当然有,这就是HandlerThread,我们来看一下Android对HandlerThread的描述。
Handy class for starting a new thread that has a looper,the looper can then be used to create handler classes.Note that start() must still be called.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值