在子线程里做UI的操作,没有crash?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
LovelyChubby 2021-08-05 23:19:54

通常情况下,子线程操作UI控件必定会报错,报错日志类似于:only the thread that call looper.loop cat attch the view。 


但有一种特殊情况,就是当你的view还没被挂在到viewtree之前。在子线程操作UI控件是可以的。

再简单点说,就是你的view 刚new出来,或刚inflate出来,还没有显示到屏幕上。在子线程操作UI控件就没关系。



在子线程操作UI控件的代码检查在ViewRootImpl 这个类就是传说中的viewtree的根

  • 提问者 慕标7289927 #1
    感谢!哦,对了。我发现AsyncTask是被弃用的,我们后面有讲替换的api吗?
    2021-08-06 08:37:58
  • LovelyChubby 回复 提问者 慕标7289927 #2

    后面有线程池

    2021-08-08 21:56:26
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.Android 网络操作与流行框架
  • 参与学习           人
  • 提交作业       220    份
  • 解答问题       1800    个

本阶段是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理;从文件存储、到轻量级数据库SQLite的使用;最后利用最流程的第三方框架助你快速开发企业级APP。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师