Android Crash框架Recovery

群里推荐的,蛮好用的,能很好地指出问题,先记下用法,有时间研究下它是怎么做的,项目中 application 中这么初始化的

     //让软件状态还原的框架
        Recovery.getInstance()
                .debug(true)
                .recoverInBackground(false)
                .recoverStack(true)
                .mainPage(MainActivity.class)
                .recoverEnabled(false)
                .init(this);

转载自 Android运行时Crash自动恢复框架-Recovery

github地址

1. Recovery 是什么

Recovery”帮助你自动处理程序在运行时的Crash,它含有以下几点功能

  • 自动恢复Activity Stack和数据
  • 支持只恢复栈顶Activity
  • Crash信息的显示与保存
  • 应用重启或者清空缓存
  • 一分钟内两次恢复失败不再恢复而进行重启应用

恢弘

2. 使用指南

2.1 添加依赖

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

2.2 在 Application 中初始化

 Recovery.getInstance()
                .debug(true)
                .recoverInBackground(false)
                .recoverStack(true)
                .mainPage(MainActivity.class)
                .recoverEnabled(true)
                .callback(new MyCrashCallback())
                .silent(false, Recovery.SilentMode.RECOVER_ACTIVITY_STACK)
                .skip(TestActivity.class)
                .init(this);

2.3 添加权限

android.permission.GET_TASKS

2.4 参数意义

如果你仅仅需要在开发时显示RecoveryActivity界面来获取debug数据,而在线上版本不显示,那么可以设置recoverEnabled(false);

这里写图片描述

这里写图片描述

2.5 Callback

public interface RecoveryCallback {

    void stackTrace(String stackTrace);

    void cause(String cause);

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

    void throwable(Throwable throwable);
}

2.6 Custom Theme

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

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

2.7 Crash File Path

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值