Handler.removeMessages的作用,有時候為什么一定要先remove一下呢


removeMessages會將handler對應message queue里的消息清空,如果帶了int參數則是對應的消息清空。隊列里面沒有消息則handler會不工作,但不表示handler會停止。當隊列中有新的消息進來以后handler還是會處理。

我的理解:

1、這個方法使用的前提是之前調用過sendEmptyMessageDelayed(0, time),意思是延遲time執行handler中msg.what=0的方法;

2、在延遲時間未到的前提下,執行removeMessages(0),則上面的handler中msg.what=0的方法取消執行;

3、在延遲時間已到,handler中msg.what=0的方法已執行,再執行removeMessages(0),不起作用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM