Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Crash框架Recovery

Android Crash框架Recovery

編輯:關於Android編程

?

優點:擺脫原始的Crash界面處理
缺點:無法自定義界面實現自定義Ui
介紹:“Recovery”幫助你自動處理程序在運行時的Crash,它含有以下幾點功能
自動恢復Activity Stack和數據
支持只恢復棧頂Activity
Crash信息的顯示與保存
應用重啟或者清空緩存
一分鐘內兩次恢復失敗不再恢復而進行重啟應用

使用:
Gradle

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

Maven

    
        com.zxy.android
        recovery
        0.0.8
        pom
    

你可以使用類似如下初始化代碼在你自定義的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   回退的界面
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屬性:

#F44336
#D32F2F
#BDBDBD
#FFFFFF

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. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved