Android子线程更新UI成功

时间:2023-03-08 17:44:50
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:暂时记录,后续看源码验证后更新。