问题:“Android只能在UI线程更新UI 么?”
答:“对!......,嗯?不对?”
我脑子里的的回答是“对”,但是辩证思维又在提醒我可能有陷阱,于是我就说“大部分情况是的”。那么小部分情况呢?具体说不上来了!于是才发现这个问题一直被忽略了。
于是试验检验真理,撸代码验证了一遍。
new Thread(){
@Override
public void run() {
super.run();
btn_demo1.setText("Demo1--"+Thread.currentThread().getName());
}
}.start();
奔溃信息:
CalledFromWrongThreadException
问题出现在ViewRootImpl.checkThread()的时候出错
查看ViewRootImpl的源码,导致问题的原因:
public ViewRootImpl(Context context, Display display) {
mContext = context;
mWindowSession = WindowManagerGlobal.getWindowSession();
mDisplay = display;
mBasePackageName = context.getBasePackag