异步数据处理Handler
Posted 371502685
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异步数据处理Handler相关的知识,希望对你有一定的参考价值。
在单线程的程序当中,主线程在处理大数据或者访问网络资源,UI主线程往往会卡住,出现点不动的现象(UI线程被阻塞),这种情况下,一般 会用多线程来处事,单独开一个子线程进行数据处理,这就会遇到一个问题,子线程更新的数据如何反映到UI主线程中,这就要用到Handler,它的主要功 能是接受子线程发送的数据, 并用此数据配合主线程更新UI。具体用法也蛮简单:
1. 在子线程串发送message
Message msg = new Message();
Bundle b = new Bundle();// 存放数据
b.putString(“color”, “我的”);
msg.setData(b);
MainActivity.this.myHandler.sendMessage(msg);
2. Handler中的handleMessage接收消息,并把接收中包含的数据更新至ui界面中国
super.handleMessage(msg);
Bundle b = msg.getData();
String color = b.getString(“color”);
MainActivity.this.buttonStart.append(color);
以上是关于异步数据处理Handler的主要内容,如果未能解决你的问题,请参考以下文章
Handler Looper Message异步消息处理线程机制( hander消息机制原理)