赞
踩
重新整理,
原理:
应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件, 进行事件分发。
耗时的操作,放在一个子线程中,如果子线程涉及到UI更新,那就要用到handler,Android主线程是线程不安全的, 也就是说,更新UI只能在主线程中更新,子线程中操作是危险的。
Handler运行在主线程中(UI线程中), 它与子线程可以通过Message对象来传递数据, 这个时候,Handler就承担着接受子线程传过来的(子线程用sedMessage()方法传弟)Message对象,(里面包含数据) , 把这些消息放入主线程队列中,配合主线程进行更新UI。
重点关注这里
MyHandler myHandler;
static MyHandler mHandler;
要用这个mHandler才能保证回调的方法还在当前环境下,否则调不到,会报错。
代码如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。