android全局变量闪退,Android开发之全局异常捕获完美闪退APP专题

本文探讨了Android全局异常捕获的问题,指出现有解决方案存在的不足,如未实现真正意义上的应用闪退。作者通过研究,提出了一种改进的全局异常捕获方法,并在异常处理中结合Application的生命周期,尤其是onTerminate方法,实现了完美退出APP的功能。文章详细介绍了实现过程和关键代码,旨在帮助开发者解决此类问题。
摘要由CSDN通过智能技术生成

其实写这边文章之前,一直在考虑要不要标注为原创,因为全局异常捕获的机制,自己也是看了别人的文章学来的,百度全局异常捕获,出来的也都是一模一样的内容,只是博客位置不一样而已。但是最后要是决定标准为原创,因为网上的那些全局异常捕获的文章,虽然交代了如何去处理全局异常捕获,但是却没有完美的处理捕获异常之后该做的事情。既没有完美的退出程序。博主在使用网上提供的全局捕获异常之后,不是ANR就是只退出了报错的那个ACTIVITY,没有达到真正的闪退处理。这让博主非常的苦恼,于是博主研究了一天,终于找到了完美退出APP的方法。下面来和大家一起分享。

一、Application的生命周期

在说如何完美退出APP之前,我们先来讲讲Application的生命周期.

1、onCreate,app启动的主入口,程序启动的时候调用

@Override

public void onCreate() {

super.onCreate();

}2、onTerminate()  app停止的时候执行的方法,但并不一定会调用。当虚拟机为别的应用程序腾出更大资源空间而终止当前应用程序的时候,是不会执行该方法的。

public void onTerminate() {

super.onTerminate();

System.exit(0);

}

3、onLowMemory()当后台程序已经终止资源还匮乏的时候,会调用这个方法,一般的程序会在这里释放一些不必要的资源

@Override

public void onLowMemory() {

super.onLowMemory();

}

4、onConfigurationChanged(Configuration newConfig),当配置改变时调用的方法

@Override

public void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

}看完application的生命周期之后,想必大腿对于APP的启动和退出有了一个大概的认识。我们常说activity,fragment,service,BroadcastReceiver的生命周期,但却很少去了解application的生命周期。其实google设计的这个application类有很大的用处。一般来说,application代表整个应用程序,所以它就是一个全局变量,所有的公共变量、需要全局传递的数值都可以通过application来达到目的。而在activiiy中或者其他地方,我们都可以通过getApplication()或者mContext.getApplicationContext()来拿到application的实例。在这里不在描述过多,网上百度可以找到很多的相关信息。好了,下面进入正题。

二、全局异常的捕获及完美闪退出应用程序

直接上代码,代码大部分和网站别人的全局异常捕获一样,但是,在初始化的时候,添加了application参数,在异常处理的方法也和别人的不一样,详细大家请仔细查看注释

package com.batways.tnt.utils;

import java.io.File;

import java.io.FileOutputStream;

import java.io.PrintWriter;

import jav

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值