利用handler发送消息报:"This message is already in use"解决办法

Posted Potter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用handler发送消息报:"This message is already in use"解决办法相关的知识,希望对你有一定的参考价值。

每天频繁的遇到问题,解决问题,成长不断。所以当我们遇到一个新问题要感到荣幸,心想:“我是第一个遇到这个问题的人,我也要成为第一个决绝这个问题的人。这样人后面都学习你的处理方法,然后把你的名字记入问题史册,多牛X,不是吗?...哈哈~自豪~!”积极、坦然的面对你遇到的每一个问题,这会让你受益多多,进步多多。加油~~~

在利用handler发送消息时,遇到了一个问题如下:

07-01 10:32:15.233: ERROR/androidRuntime(9774): android.util.AndroidRuntimeException: what=1006 when=-2ms arg1=1 obj=MotionEvent40551f40 action=0 x=180.85541 y=390.24445 pressure=0.1137255 size=0.06666667 This message is already in use.
老是报这个错,问题就很明显了。说明发送的消息正在消息队列中,表示现在正在被使用。解决办法重新创建一个新的消息,发送过去就ok啦!问题解决。

当我有在思考一个问题,我不想创建新的对象想重新利用这个对象,所以就想到如何你很明确的知道这个消息在那里使用完了,就出消息队列中移除,【注意:由于cpu运行速度非凡人所能想想的,所以在移除的时候得判断系统时候知道消息处理后自动移除消息队列了,其实就是得判断这个消息是否还在消息队列中】  在这里遇到了问题,我不知道如何判断某消息是否还在消息队列中,请求高人指点?在此感谢了~~

 

以上是关于利用handler发送消息报:"This message is already in use"解决办法的主要内容,如果未能解决你的问题,请参考以下文章

android_handler

从源码分析Handler机制

从源码分析Handler机制

Android---Handler消息处理机制

Handler的使用

Handlerthread使用