主页 > 软件开发  > 

Android-Handler使用post之后,Runnable没有执行

Android-Handler使用post之后,Runnable没有执行
问题:子线程创建的Handler。如果 post 之后,在Handler.removeCallbacks(run)移除了,下次再使用Handler.postDelayed(Runnable)接口或者使用post时,Runnable是没有执行。导致没有收到消息。

解决办法:只有主线程创建的,remove之后,还可以post。

原因: 在主线程new一个Handler的时候,默认使用的是当前线程的Looper,就是系统为我们创建好的MainLooper。所以不需要自己在手动写prepare() 和 loop()函数。

如果在子线程中创建了一个Handler,那么就必须做三个操作: prepare()、 loop()、quit()

所以留意,new Handler时机,是否在主线程。

标签:

Android-Handler使用post之后,Runnable没有执行由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Android-Handler使用post之后,Runnable没有执行