当子线程开启了loop()之后,就算子线程不做任何事情,子线程也不会执行结束,looper也不会退出。只有调用quit方法才会提出。因为looper调用了loop()之后,会在MessageQueue的next()方法阻塞,这个next方法要么返回Message,要么就阻塞,要么就返回null导致loop()方法结束,只有调用了quit()方法后,这个方法才会返回null, ps: return 可以跳出死循环
Lopoper 退出循环的原理
最新推荐文章于 2022-09-22 14:37:39 发布