android开发程序崩溃闪退问题
作者:互联网
android开发程序崩溃闪退问题
闪退原因
总结几个常见的app运行闪退原因:
1.数组访问越界。
2.访问未初始化的指针或者其他变量。
3.在主线程中执行耗时耗内存的操作。
下面重点说明一下第三种问题的查找与解决
首先应该查看是否自己是否在连续多次运行的主线程中进行比较复杂的计算和操作,这种程序在调试时往往表现为,程序运行到某个函数无法正常进入该函数,点击强制进入也无效,如果在点击跳到下一个断点程序会出现崩溃的现象。
如下图:
如图所示,可以看到在该处并未设置断点,程序在调试时自动在该处停止。同时如果继续在程序中增加计算量如自己加入新的循环,停止的位置相应也会提前。
这种情况一般就是第三种.在主线程中执行耗时耗内存的操作而引起的。
这是可以通过Handler解决。
Handler使用方法
定义一个handler实例用于执行相应的耗时操作
在这里插入代码片
//定义一个handler实例用于执行相应的耗时操作
Handler handlerToCalculateRTKInRealTime=new Handler()
{
@Override
public void handleMessage(@NonNull Message msg)
{
if(msg.what==startRTkCalculation)
{
//在该处执行相应的耗时操作
}
}
};
//在线程中定义Message用于像相应的handler对象发送消息以出发该handler用于处理相应的耗时操作:
Message messageToStartRTKCalculation=new Message();
messageToStartRTKCalculation.what=startRTkCalculation;
handlerToCalculateRTKInRealTime.sendMessage(messageToStartRTKCalculation);
//其中startRTkCalculation可以简单定义为
int startRTkCalculation=1;
标签:handler,Message,startRTkCalculation,程中,耗时,Handler,android,闪退,崩溃 来源: https://blog.csdn.net/qq_39721991/article/details/112388162