看了以上文章后,做一些补充
同样的,我们还可以猜测,在onStart方法和onResume方法里面创建子线程并访问更新UI,同样是可以运行成功的。这一点留给读者去验证。
在onCreate()写如下代码是没有问题的:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_handler_test2);
ButterKnife.bind(this);
new Thread(new Runnable() {
@Override
public void run() {
textView.setText("子线程加载");
}
}).start();
}
经过测试,在onStart方法和onResume方法里面创建子线程并访问更新UI,同样是可以运行成功的。
在onPause() 就会报错了。
surfaceView 可以在子线程更新UI,好多游戏中就用到了这个surfaceView,如王者荣耀。