1. 程式人生 > >android 流行框架之效能優化----ACRA(崩潰報告)

android 流行框架之效能優化----ACRA(崩潰報告)

在實際開發中,不論是debug或者release 的時候。初期來說,程式的崩潰是在所難免的,這些崩潰是因為我們的邏輯判斷上沒有考慮周全,亦或是因為我們的粗心大意,在某個關鍵位置多寫或者少寫了一行程式碼。作為一個合格的程式設計師,僅僅為了實現功能就像是不想當一個將軍的士兵一樣不是一個好的程式設計師,所以,我們做出來的產品既要實現需求,更要讓他執行流暢,程式設計師+測試+使用者,才是一個真正的合格的程式設計師。

扯多了,下面來說一個在開發過程中,一個便於我們檢測程式崩潰的框架 ACRA。又叫做 Application CrashReport for Android。

首 先     1.下 載jar包: .新版本v4.9.0 - 4-jun-2016 acrA 新增到工程中。

              2. compile 'ch.acra:acra:4.9.0'

然後新建一個自己的Application 繼承 Application 並在AndroidMainfest 中修改成自己的Application。

新增一個@ reportscrashes註釋到你的應用程式類,然後覆蓋attachbasecontext()方法新增AcrA。init(this);進行初始化,程式碼如下:

   import org.acra.*;
    import org.acra.annotation.*;

    @ReportsCrashes(
        formUri
= "http://www.backendofyourchoice.com/reportpath" ) public class MyApplication extends Application { @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); // The following line triggers the initialization of ACRA ACRA
.init(this); } }
或者你也可以構建 ACRA programmatically, 然後再進行初始化,程式碼如下:
  import org.acra.ACRA;
    import org.acra.configuration.*;

    public class MyApplication extends Application {
        @Override
        protected void attachBaseContext(Context base) {
            super.attachBaseContext(base);

            // Create an ConfigurationBuilder. It is prepopulated with values specified via annotation.
            // Set any additional value of the builder and then use it to construct an ACRAConfiguration.
            final ACRAConfiguration config = new ConfigurationBuilder(this)
                .setFoo(foo)
                .setBar(bar)
                .build();

            // Initialise ACRA
            ACRA.init(this, config);
        }
    }
最後要注意,因為我們會將崩潰資訊通過網路反饋給我們,所以,在這裡,要宣告網路許可權:
<uses-permission android:name="android.permission.INTERNET"/>

由於時間原因,這裡對於崩潰的處理以及收集。請大家參考一下連結: