Android初体验(六)Handler
因为安卓只能在主线程中更新ui,且主线程最好不好有耗时操作(超过5s),所以有时候绘制动画时就必须使用多线程来实现。这时候更新UI就需要使用handler
,可以理解为信使的作用。
也就是需要非主线程需要更新UI的时候需使用handler
给主线程一个消息,主线程收到消息后完成更新UI动作。
新建Handler对象
主线程中新建一个handler对象1
2
3
4
5
6
7Handler handler = new Handler(){
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what==0x01) myView.invalidate();//当收到消息为0x01时更新myView视图
}
};
在需要更新UI的地方使用以下方法
1 | handler.sendEmptyMessage(0x001); |
注意这里的handler
与之前创建的为同一对象。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com
文章标题:Android初体验(六)Handler
本文作者:子非鱼
发布时间:2018-12-02, 16:28:20
最后更新:2018-12-09, 11:07:31
原始链接:https://Wangsr.cn/2018/12/02/2018-2018-12-02-Android初体验-六-handler/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。