当前位置: 移动技术网 > IT编程>开发语言>Java > 主线程与子线程

主线程与子线程

2020年07月08日  | 移动技术网IT编程  | 我要评论

主线程和子线程相关
学习心得,做个小结,供自己复习
①java.lang.RuntimeException: Can’t create handler inside thread that has not called Looper.prepare()
今天遇到这个问题:刚开始在主线程时调用了classA中的方法a(a内无任何操作),然后往下执行,在子线程中调用了classA中的方法b,方法b中new了一个handler,这个时候运行是正常的。再往后,把前面调用方法a的地方去掉了,再运行,就出现了这个异常。方法a和方法b是没有联系的。但是为什么会出现这个异常,还是在老师父的解释和看了网上的一些文章后,才对主线程和子线程有了一些理解。
出现这个问题后,我最先想到的是子线程不能更新UI,但是这里只是发了一个消息呀,而且为什么调用了空的方法a之后就没有异常了?原来问题的原因是,刚开始主线程调用了方法a,所以classA在主线程中初始化了,那么消息队列Looper也就在主线程中初始化了;而没有调用方法a的话,这个Looper就初始化在了子线程,就出现了如上①的错误。

本文地址:https://blog.csdn.net/weixin_42142032/article/details/106916531

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网