Android Crash框架Recovery
来源:互联网 发布:html 调用php class 编辑:程序博客网 时间:2024/05/16 03:48
优点:摆脱原始的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);ArgumentsArgument Type Functiondebug boolean 是否开启debug模式recoverInBackgroud boolean 当应用在后台时发生Crash,是否需要进行恢复recoverStack boolean 是否恢复整个Activity Stack,否则将恢复栈顶ActivitymainPage 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()
- Android Crash框架Recovery
- Android Crash框架Recovery
- Android运行时Crash自动恢复框架:Recovery
- 好牛逼的技术——Android运行时Crash自动恢复框架:Recovery
- Crash Recovery
- 浅析Innodb crash recovery
- innodb crash recovery流程
- Crash Recovery 和 Media Recovery 的区别
- Crash Recovery 和 Media Recovery 的区别
- DB2的crash recovery原理
- Crash Recovery的一点理论知识
- Android Recovery
- Android recovery
- android recovery
- Android -Recovery
- Android recovery
- android recovery
- Android recovery
- 反汇编要点学习
- iOS开发 iOS10推送设置
- groovy闭包
- Hystrix(一)、实践
- JSCH通过sftp下载文件
- Android Crash框架Recovery
- docker动态更新lb
- 过滤器filter概述
- 阿里MNS和RabitMQ双支持方案
- Android 系列 6.7使用Fragment API构建现代UI
- C程序设计语言- 结构-5.2----类型定义、联合
- About Me
- 3060: [Poi2012]Tour de Byteotia
- 微信小程序使用全套指南