面试:子线程一定不能更新UI? SurfaceView :多媒体视频播放 ,可以在子线程中更新UI; Progress(进度)相关的控件:也是可以在子线程中更新Ui;审计机制:activity完全显示的时候审计机制才会去检测子线程有没有更新Ui.
1.使用activity的runOnUiThread方法更新ui,无论当前线程是否是主线程,都将在主线程执行.
runOnUiThread(new Runnable() {
@Override
public void run() {
tv_simple.setText("我被更新了");
}
});
2.使用handler直接post到主线程,handler需要在主线程创建
//延迟多少毫米执行runnable。
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
tv_simple.setText("我被更新了");
}
}, 1000*5);
应用场景:广告展示后,做页面跳转。
时间: 2024-10-14 20:48:16