栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android基础知识梳理(11)Handler使用及原理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android基础知识梳理(11)Handler使用及原理

Android基础知识梳理(12)Handler使用及原理 基本概念

Handler:消息处理者,用于发送和接收消息。

Message:消息,用于传递数据的载体。

MessageQueue:消息队列,用于有序存放消息。

Looper:用于从消息队列中取出消息。

使用方法 初始化

1.在主线程中初始化Handler

private Handler handler = new Handler(Looper.myLooper()) {
    @Override
    public void handleMessage(@NonNull Message msg) {
        Toast.makeText(getApplicationContext(), msg.obj.toString(), Toast.LENGTH_LONG).show();
    }
};

2.新增线程初始化

HandlerThread thread = new HandlerThread("HandlerTest");
thread.start();

Looper looper = thread.getLooper();
Handler handler = new Handler(looper);
发送消息

1.在子线程中发送消息

private void send(String msg) {
    Message message = Message.obtain();
    message.obj = msg;
    handler.sendMessage(message);
}

2.子线程可以调用主线程handler的post方法,将其中的操作抛到handler所在的主线程去处理

private void test() {
	handler.post(()->{
		Toast.makeText(getApplicationContext(), "test", Toast.LENGTH_LONG).show();
	});
}
原理分析
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/323123.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号