Android中如何在子线程更新UI
2015-11-21 16:16
483 查看
在做Android开发的时候,时常被一个问题困扰,那就是UI是由主线程管理的.
但我们不可能把所有的操作都放到主线程里面做,会出现ANR问题,更会影响到性能.
在这里推荐使用handler更新UI
我们可以写一个类继承handler 使用这个handler来更新主界面的UI
在new的时候我们塞进去一个Looper.getMainLooper();
这里是抓取了主线程的Looper进行执行.
然后我们就可以在handleMessage(Message msg)中指定特殊的Message进行我们自己的处理了
但我们不可能把所有的操作都放到主线程里面做,会出现ANR问题,更会影响到性能.
在这里推荐使用handler更新UI
final class OmmHandler extends Handler { public OmmHandler(Looper looper) { super(looper); } public void handleMessage(Message msg) { //TODO 未完成的代码 }
我们可以写一个类继承handler 使用这个handler来更新主界面的UI
在new的时候我们塞进去一个Looper.getMainLooper();
mHandler = new OmmHandler(Looper.getMainLooper());
这里是抓取了主线程的Looper进行执行.
然后我们就可以在handleMessage(Message msg)中指定特殊的Message进行我们自己的处理了
相关文章推荐
- UIScrollView 实践经验
- ValueError: urls must start with a leading slash
- UIButton源码分析
- leetcode-Unique Binary Search Trees
- 随意细解:UI -- UINavigationController、界面通信
- 1051 Pop Sequence
- iOS开发 UI实现的三种动画
- POJ2299Ultra-QuickSort(归并排序 + 树状数组求逆序对)
- NHibernate Query
- UIGestureRecognizer手势识别器
- UITableView优化技巧
- Apue Chapter 5 习题答案
- Uiautomator环境搭建
- GPUImage简单滤镜使用之色阶(三)
- 对频率论(Frequentist)方法和贝叶斯方法(Bayesian Methods)的一个总结
- UIView的userInteractionEnabled属性的意义
- easyui datagrid 部分参数
- Spoj 1716 Can you answer these queries III
- spoj SPOJ 1043 Can you answer these queries I
- Java中EventQueue.invokeLater干什么用的