Android子线程更新UI成功

android子线程更新UI成功

今天在写demo的时候,在子线程中更新UI,发现更新成功,记录一下。

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.tvNo);
        new Thread(new Runnable() {
            @Override
            public void run() {
                textView.setText("test");
            }
        }).start();
    }

代码如上,直接执行后成功,没有任何异常,且textView文字设置成功。通过log显示,TextView的更新确实是发生在子线程中。网上的说法是设置发生在activity初始化完成之前,所以没有报出异常,测试后发现子线程操作如果加上休眠3s,或者放在点击事件处理逻辑中,则会报错,与网上说法的现象一致。

ps:暂时记录,后续看源码验证后更新。

posted @ 2019-04-02 14:04  coco.zhang  阅读(834)  评论(0编辑  收藏  举报