Android之Handler机制
2015-08-10 21:13
381 查看
直接在UI线程中开启子线程来更新TextView显示的内容,运行程序我们会发现,如下错 误:android.view.ViewRoot$CalledFromWrongThreadException:
Only the original thread that created a view hierarchy can touch its views.翻译过来就是:只有创建这个控件的线程才能去更新该控件的内容。
所有的UI线程要去负责View的创建并且维护它,例如更新冒个TextView的显示,都必须在主线程中去做,我们不能直接在UI线程中去创建子线程,要利用消息机制:handler,如下就是handler的简单工作原理图:
Only the original thread that created a view hierarchy can touch its views.翻译过来就是:只有创建这个控件的线程才能去更新该控件的内容。
所有的UI线程要去负责View的创建并且维护它,例如更新冒个TextView的显示,都必须在主线程中去做,我们不能直接在UI线程中去创建子线程,要利用消息机制:handler,如下就是handler的简单工作原理图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/24/af9b15e4cb5044141d1bf2365f609e3a.png)
相关文章推荐
- Android Synchronization Fences – An Introduction
- Android之事件传递机制
- android开发中遇到的问题汇总【八】
- Android View.onMeasure方法的理解
- AndroidStudio配置Androidannotation
- Android Studio 中文乱码问题
- android 实现QQ好友分享和QQ空间分享
- Android之——NDK环境搭建
- Android安全机制
- 通过经纬度坐标计算两个点之间的距离
- Android侧滑--防QQ实现侧滑
- android LayoutInflate.inflate源码分析及使用区分
- Android 百度地图 SDK v3.0.0 (三) 加入覆盖Marker与InfoWindow使用
- Android Studio使用AndroidJUnitRunner进行单元测试
- Android 开发中 iBeacon的使用
- Android Drawable、Bitmap、byte[]之间的转换
- AndroidManifest:VersionCode和VersionName
- VS使用Xamarin连接不上Genymotion的Android模拟器的原因
- Android的Intent进阶
- Android Api Demos登顶之路(二十八)Setting Action Provider