您的位置:首页 > 编程语言 > Java开发

java.lang.RuntimeException: Handler (com.***.behavior.BEvent$1) {421bca80} sending message to a Hand

2016-11-30 18:12 405 查看
java.lang.RuntimeException: Handler (com.***.behavior.BEvent$1) {421bca80} sending message to a Handler on a dead thread


它告诉你,你往死了的进程发了一个消息,然后没有办法执行。

我的代码错在这里:

sHandler.post(runnable);


handler虽然不为空,(静态的),但是它所在的进程已经死了(推出了程序),所以你post 就会出现上面的警告。我们看下post源码:

/**
* Causes the Runnable r to be added to the message queue.
* The runnable will be run on the thread to which this handler is
* attached.
*
* @param r The Runnable that will be executed.
*
* @return Returns true if the Runnable was successfully placed in to the
*         message queue.  Returns false on failure, usually because the
*         looper processing the message queue is exiting.
*/
public final boolean post(Runnable r)
{
return  sendMessageDelayed(getPostMessage(r), 0);
}


The runnable will be run on the thread to which this handler is

* attached.

所以 进程死了,就没有办法运行了。

总结:

1.代码没执行,记得看logcat的警告。

logcat的error,会直接crash.

warn 代码没执行,或者其他的问题,都会warn.

2.android程序退出了,但是进程没有杀死。

所有的静态变量,暂时还保存着。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐