像是HandlerThread这种新创建的一个线程,内部的Looper对象也是当前线程独有的还是共用主线程的?
来源:7-4 如何自己实现一个简单的 Handler - Looper 框架?

weixin_慕妹9102749
2020-09-08
HandlerThread中的Looper对象是通过Looper.prepare() 创建的,而该方法内部是调用了 sThreadLocal.set(new Looper(quitAllowed)); 可以理解成是在当前的线程里创建了一个新的Looper对象,然后加入到当前的ThreadLocal中,但是在有的文章上看到说是共用的主线程的Looper,所以有点疑问。
如果每个线程都可以创建Looper,那也就是说Android应用中可能会有多个事件循环了,是这样吗?
写回答
1回答
-
是独立的。主线程的 Looper 运行在主线程上,不会与其他新创建的 HandlerThread 共用。
112020-09-12
相似问题