handleMessage 运行在哪个线程,得先找一下是怎么触发的,Looper.loop()触发。
因此,Looper.loop()运行在哪个线程,handleMessage就运行在哪个线程。
Looper.loop()运行在哪个线程?
对于activity来说,运行在AcitivityThread的 main() 方法里,因此在Activity中通过 new Handler();创建的Handler,
handleMessage 运行在 主线程
对于HandlerThread来说,运行在HandlerThread的run()方法里,因此跟HandlerThread 绑定的Handler,
handleMessage 运行在HandlerThread的线程。
这么看来,handleMessage运行在 创建Handler时,绑定的Looper所在线程?!

博客探讨了handleMessage运行在哪个线程的问题。指出其由Looper.loop()触发,所以Looper.loop()运行在哪个线程,handleMessage就运行在哪个线程。在Activity中,通过new Handler()创建的Handler,handleMessage运行在主线程;与HandlerThread绑定的Handler,handleMessage运行在HandlerThread的线程。
5928

被折叠的 条评论
为什么被折叠?



