Process xxxx (pid xxx) has died的另外一种错误分析

今天发现程序运行半个小时之后会崩溃,并且在日志中没有发现具体的报错信息,找了网上的办法都不适用,经过自己努力的排查发现是因为本该屏蔽掉的handle消息发送代码没有屏蔽,频繁调用handle发送消息,并且消息没有在handle 内部进行处理所导致,屏蔽掉handle消息发送后程序能够正常运行。

频繁创建消息并发送

        Message message = handler.obtainMessage();//获取Message对象
            message.arg1 = 1;//设置Message对象附带的参数
            handler.sendMessage(message);//向主线程发送消息

内部没有对发送过来的消息进行具体处理

 private Handler handler=new Handler(){
        /**重写handleMessage方法*/
        @Override
        public void handleMessage(Message msg) {



            if(msg.arg1==0) {

            }else
            {
            }


            startTime();//执行计时方法
        }
    };

屏蔽掉上述代码之后,程序正常运行没有再发生崩溃情况,
很多错误在android studio中不会进行代码提示,这就需要我们在代码中进行追踪,不能简单依赖debug信息来进行判断。

猜你喜欢

转载自blog.csdn.net/qq_24856205/article/details/89032551