Android Crash框架Recovery

?

优点:摆脱原始的Crash界面处理
缺点:无法自定义界面实现自定义Ui,如果希望重新制定crash的UI,可以通过将项目以一个lab的方式导入
介绍:“Recovery”帮助你自动处理程序在运行时的Crash,它含有以下几点功能
自动恢复Activity Stack和数据
支持只恢复栈顶Activity
Crash信息的显示与保存
应用重启或者清空缓存
一分钟内两次恢复失败不再恢复而进行重启应用
运行中遇到的问题,这里使用到了6.0如果你的版本是大于6.0的,这里build.VERSION_CODES.M就不会报错,但是如果版本时低于6.0,需要将该部分代码去掉
使用:
Gradle

    compile 'com.zxy.android:recovery:0.0.8'

Maven

    <dependency>
        <groupId>com.zxy.android</groupId>
        <artifactId>recovery</artifactId>
        <version>0.0.8</version>
        <type>pom</type>
    </dependency>

你可以使用类似如下初始化代码在你自定义的Application中进行初始化:

    Recovery.getInstance()
            .debug(true)
            .recoverInBackground(false)
            .recoverStack(true)
            .mainPage(MainActivity.class)
            .callback(new MyCrashCallback())
            .init(this);

并且在manifest中授权

android.permission.GET_TASKS
如果你不想在应用发生Crash时显示RecoveryActivity,你可以使用静默恢复来进行无界面的恢复你的应用,那么请使用类似如下初始化代码在你自定义的Application中进行初始化:

Recovery.getInstance()
        .debug(true)
        .recoverInBackground(false)
        .silent(false, Recovery.SilentMode.RECOVER_ACTIVITY_STACK)
        .init(this);

Arguments

Argument    Type    Function
debug   boolean 是否开启debug模式
recoverInBackgroud  boolean 当应用在后台时发生Crash,是否需要进行恢复
recoverStack    boolean 是否恢复整个Activity Stack,否则将恢复栈顶Activity
mainPage    Class<? extends Activity>   回退的界面
callback    RecoveryCallback    发生Crash时的回调
silent  boolean,SilentMode  是否使用静默恢复,如果设置为true的情况下,那么在发生Crash时将不显示RecoveryActivity界面来进行恢复,而是自动的恢复Activity的堆栈和数据,也就是无界面恢复
SilentMode

RESTART - 重启应用
RECOVER_ACTIVITY_STACK - 恢复Activity堆栈
RECOVER_TOP_ACTIVITY - 恢复栈顶Activity
RESTART_AND_CLEAR - 重启应用并清空缓存数据
Callback

public interface RecoveryCallback {

void stackTrace(String stackTrace);

void cause(String cause);

void exception(String throwExceptionType, String throwClassName, String throwMethodName, int throwLineNumber);

}
Custom Theme

自定义RecoveryActivity的主题,需重写以下styles属性:

<color name="recoveryColorPrimary">#F44336</color>
<color name="recoveryColorPrimaryDark">#D32F2F</color>
<color name="recoveryColorAccent">#BDBDBD</color>
<color name="recoveryTextColor">#FFFFFF</color>

Crash File Path

{SDCard Dir}/Android/data/{packageName}/files/recovery_crash/
Update history

VERSION-0.0.5——支持静默恢复 VERSION-0.0.6——加强静默恢复模式的保护 VERSION-0.0.7——添加混淆配置 VERSION-0.0.8——增加可配置不需要恢复的Activity,方法:skip()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值