面试题:只能在UI线程里面更新界面吗?

来源:互联网 发布:micro800编程软件下载 编辑:程序博客网 时间:2024/06/10 03:45

目录

    • 目录
    • checkThread方法
    • runOnUiThread


checkThread方法

答:不一定,之所以子线程不能更新界面,是因为Android在线程的方法里面采用checkThread进行判断是否是主线程,而这个方法是在ViewRootImpl中的,这个类是在onResume里面才生成的,因此,如果这个时候子线程在onCreate方法里面生成更新UI,而且没有做阻塞,就是耗时多的操作,还是可以更新UI的。


runOnUiThread();

这个方法可以使子线程的代码运行在主线程(UI线程)
这里写图片描述

0 0
原创粉丝点击