欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-15 18:41:27
...

今天发现程序运行半个小时之后会崩溃,并且在日志中没有发现具体的报错信息,找了网上的办法都不适用,经过自己努力的排查发现是因为本该屏蔽掉的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信息来进行判断。