android 不能在子线程中更新ui的讨论和分析
2017-11-30 本文已影响0人
詹玉龙Andy
做过android开发基本都遇见过 ViewRootImpl$CalledFromWrongThreadException,基本都是只能在主线程中更改 ui,
那么为什么不能呢,今天扒扒源码,自己记录一下
一般我们更新UI setText() setImageView(), 都会调到ViewRootImpl checkThread();
checkThread();用来检测线程
if(mThread!= Thread.currentThread()) Thread.currentThread()是子线程,mThread是在构造函数中初始化的 Thread.currentThread()主线程,所以不能更新UI