为什么不能在子线程中更新UI(补充)

为什么不能在子线程中更新UI

看了以上文章后,做一些补充

同样的,我们还可以猜测,在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,如王者荣耀。

猜你喜欢

转载自blog.csdn.net/songzi1228/article/details/89373751