解决Android出现闪退

Android项目中经常闪退(anr)原因有很多种,各种没有捕获的异常都会导致项目的崩溃,对于此问题除了在写代码是要考虑全面,并对可能出现
的Exception进行捕获,同时也可以设置一个全局异常捕获的机制来保证你的疏忽(对应该捕获的异常没有做处理)。具体步骤如下:

1、首先创建一个Handler 继承java.lang.Thread.UncaughtExceptionHandler:

//未捕获异常
    @Override
    public void uncaughtException(Thread thread, Throwable ex) {
             String threadName = thread.getName();
             ItktLog.d(threadName);
    //这里我们可以根据thread name来进行区别对待,同时,我们还可以把异常信息写入文件,以供后来分析        
    }
    //单例引用,这里我们做成单例的,因为我们一个应用程序里面只需要一个UncaughtExceptionHandler实例
    private static CrashHandler instance;  
       
    private CrashHandler(){}
  //同步方法,以免单例多线程环境下出现异常
    public synchronized static CrashHandler getInstance(){  
        if (instance == null){
            instance = new CrashHandler();
        }
        return instance;
    }
    //初始化,把当前对象设置成UncaughtExceptionHandler处理器
    public void init(Context ctx){
        Thread.setDefaultUncaughtExceptionHandler(this);
    }
   
2、在自定义Application的oncreate()方法中初始化:

CrashHandler handler = CrashHandler.getInstance();
        handler.init(getApplicationContext());

时间: 2024-11-01 10:24:17

解决Android出现闪退的相关文章

##从0开始写一个混合app(andriod)##第3天,解决白屏闪退问题

2017年4月1日20:28:01 焦灼,无奈,丝毫没有头绪,好好的,怎么就闪退了呢? 看了下官方的qa,说是悬浮框权限没有打开会有这种情况. 后面附带的是MIUI的解决方案.我的手机是联想zuk,自己找了一下 设置>权限管理>按应用管理>myapp >打开悬浮框权限 接下来重新尝试react-native run-android,终于手机上弹出了 welcome to react-native 的欢迎界面 这里的提示是让我们修改 index.android.js文件就可以修改这个

Android - app闪退log分析

以下为主要log: 01-21 18:21:48.238: D/AndroidRuntime(10851): Shutting down VM 01-21 18:21:48.240: E/AndroidRuntime(10851): FATAL EXCEPTION: main 01-21 18:21:48.240: E/AndroidRuntime(10851): Process: com.android.email, PID: 10851 01-21 18:21:48.240: E/Andro

解决plt.show()闪退

我今天在Linux下进行实验时,发现简单的plt.show()竟然不能显示图片了,一闪就没了. 报错如下: python: relocation error: /home/magic/anaconda2/plugins/xcbglintegrations/libqxcb-glx-integration.so: symbol _ZNK14QXcbConnection12xlib_displayEv, version Qt_5_PRIVATE_API not defined in file libQ

阿里客户端工程师试题简析——Android应用的闪退(crash)分析

1. 问题描述 闪退(Crash)是客户端程序在运行时遭遇无法处理的异常或错误时而退出应用程序的表现,请从crash发生的原因分类与解决方法.在出现crash后如何捕捉并分析异常这两个问题给出自己的解决方案. 我们以Android平台为例,介绍下如何捕获Android应用的闪退信息,以帮助我们定位和解决导致闪退的问题代码. 2. Android中的闪退 在讲解Android中的闪退之前,我们先来简单的复习下Java中的异常. (1)Java中的异常 Java中的异常层次结构如下图所示: 我们可以

阿里安卓面试分析: Android应用的闪退(crash)问题跟踪和解析

一:问题描述    闪退(Crash)是客户端程序在运行时遭遇无法处理的异常或错误时而退出应用程序的表现,请从crash发生的原因分类与解决方法.在出现crash后如何捕捉并分析异常这两个问题给出自己的解决方案.    我们以Android平台为例,介绍下如何捕获Android应用的闪退信息,以帮助我们定位和解决导致闪退的问题代码.二:Android中的闪退    在讲解Android中的闪退之前,我们先来简单的复习下Java中的异常.1.Java中的异常    Java中的异常层次结构如下图所

关于tinyxml2解析xml跑错, PC运行正常, Android闪退

刚刚朋友让我帮忙看一下他的游戏为啥打包Android之后闪退, 在PC上正常, 跟了一下之后, 发现问题出在了tinyxml2上面, 他是这样写的 tinyxml2::XMLDocument* doc = new tinyxml2::XMLDocument(); XMLError errorID = doc->LoadFile("config.xml"); XMLElement* root = doc->RootElement(); 在PC上LoadFile能正常找到XML

eclipse闪退解决(转)

最近帮同事解决一个eclipse闪退解决的问题,从网上找了N多方法皆无效,最后用一个园友的博客上的方法解决了,特转载一下. 解决办法: 删除文件 [workspace]/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi 原博文地址:http://www.cnblogs.com/albert1017/p/3596265.html eclipse闪退解决(转),布布扣,bubuko.com

如何应对应用程序闪退、强退的现象

如何应对应用程序闪退.强退的现象 各位机友在使用手机的过程当中肯定都遇到过应用程序闪退或者强制关闭的情况,这个问题让人很困惑也很苦恼.其实无论是在iOS系统还是在Android系统当中,这种情况都会屡屡发生,那如何来解决这个的问题呢?经过查看一些文章,笔者为大家整理了一些针对应用程序出现闪退或者强制关闭状况的解决方法,以备大家不时之需.本篇文章的侧重点还是在于Android手机,毕竟开源的Android系统在为用户带来个性化操作的同时,也同样带来了这样那样的烦恼. 一.闪退和强制关闭现象 首先让

sdk manager.exe 闪退 解决办法!

我的sdk manager.exe 闪退 的情况如下! 如果你的情况跟我一样,应该很好解决! 进入adt-bundle-windows-x86_64-20140702\sdk\tools 找到android.bat!! 然后打开电脑cmd   把android.bat 拉进cmd  如果提示错误是如下情况: 'xcopy' 不是内部或外部命令,也不是可运行的程序或批处理文件.ERROR: SWT folder 'lib\x86_64' does not exist.Please set ANDR