亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

基于Android應用中如何反饋Crash報告的詳解

2020-04-11 12:25:18
字體:
來源:轉載
供稿:網友

為什么需要反饋Crash報告?

做Android應用程序,要盡量避免程序Crash的發生。雖然說零Crash是程序員追逐的最終目標,但是現實的情況是,程序員只能盡量的減少Crash的發生,而幾乎不可能完全杜絕Crash。也許,你認為你的應用的健壯性已經近乎完美,輕松的經受住了測試部門魔鬼般的考驗,但是當你的應用發布到市場,面對百萬甚至千萬級別的用戶的時候,可能就沒有那么幸運了。

基于以上原因,一般的應用程序,都要有一個Crash反饋的機制。程序員可以根據反饋的結果,對當前的版本的代碼進行改進,使發布的下一個版本更加穩定。

如何反饋?

先來看如何捕獲Crash的發生。

Java中有一個接口,UncaughtExceptionHandler,先看描述。

static interface

Thread.UncaughtExceptionHandler
          當 Thread 因未捕獲的異常而突然終止時,調用處理程序的接口。

 

再來看Thread類中的一個方法。

static void

setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh)
          設置當線程由于未捕獲到異常而突然終止,并且沒有為該線程定義其他處理程序時所調用的默認處理程序。

 

看了這些API,就知道我們需要實現這樣一個接口,然后在程序的主線程中設置處理程序。

看下面的接口實現。

復制代碼 代碼如下:

package com.arui.framework.android.exception; 
import java.lang.Thread.UncaughtExceptionHandler; 
import android.content.Context; 
/**

 * Default exception handler for all activities.
 * 
 * @author http://blog.csdn.net/arui319

 * @version 2011/12/01
 * 
 */ 
public class DefaultExceptionHandler implements UncaughtExceptionHandler { 
    private Context act = null; 
    public DefaultExceptionHandler(Context act) { 
       this.act = act; 
    } 
    @Override 
    public void uncaughtException(Thread thread, Throwable ex) { 

       // 收集異常信息 并且發送到服務器  

       sendCrashReport(ex); 

       // 等待半秒  

       try { 

           Thread.sleep(500); 

       } catch (InterruptedException e) { 

           //  
       } 
       // 處理異常  
       handleException(); 
    } 
    private void sendCrashReport(Throwable ex) { 

       StringBuffer exceptionStr = new StringBuffer(); 

       exceptionStr.append(ex.getMessage()); 

       StackTraceElement[] elements = ex.getStackTrace(); 

       for (int i = 0; i < elements.length; i++) { 

           exceptionStr.append(elements[i].toString()); 
       } 

       //TODO   

       //發送收集到的Crash信息到服務器  

    } 
    private void handleException() { 

       //TODO   

       //這里可以對異常進行處理。  

       //比如提示用戶程序崩潰了。  

       //比如記錄重要的信息,嘗試恢復現場。  

       //或者干脆記錄重要的信息后,直接殺死程序。  
    } 


在主Activity的onCreate(Bundle savedInstanceState)方法中增加如下代碼。
復制代碼 代碼如下:

Thread.setDefaultUncaughtExceptionHandler(new DefaultExceptionHandler( 

       this.getApplicationContext())); 

如何發送到服務器?
 
這個不同的項目組會有不同的方式,具體不在這里討論了。需要提醒的是,除了把異常的具體信息發送給服務器外,至少還需要發送版本信息,這樣程序員才可以判斷服務器上的異常信息是哪個版本出現的。除了版本信息,可能還需要手機的SDK版本,屏幕分辨率,手機型號等等信息,有了這些信息,可以更全面的了解異常信息。

更多說明。

只需要在主Activity中設置一次異常處理類即可,不需要在所有的Acitivity都進行設置。

個人感覺Crash發生后,恢復現場繼續運行的意義不大。Crash以后,程序的運行情況已經是不可預知的了,用一個錯誤,去彌補另外一個錯誤,本身就會導致更多的錯誤。建議還是盡量避免Crash的發生更合理。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美片一区二区三区| 日韩精品免费电影| 久久精品男人天堂| 欧美激情网友自拍| 九九精品在线播放| 夜夜嗨av一区二区三区免费区| 亚洲美女性生活视频| 日韩欧美第一页| 中文在线不卡视频| 久久国产精品免费视频| 九九九久久久久久| 久久久久久成人| 亚洲欧美国产高清va在线播| 久久久亚洲精选| 国产精品夫妻激情| 亚洲最大激情中文字幕| 欧美电影免费观看| 久久亚洲国产精品成人av秋霞| 亚洲国产精品悠悠久久琪琪| 久久久人成影片一区二区三区观看| 日韩中文在线中文网三级| 国产精品美腿一区在线看| 成人午夜在线影院| 日韩欧美精品网站| 伊人久久久久久久久久久| 国内伊人久久久久久网站视频| 日韩动漫免费观看电视剧高清| 日韩免费不卡av| 亚洲福利视频网| 色悠悠国产精品| 91在线免费网站| 亚洲成人精品视频在线观看| 国产精品久久久久久久久久三级| 欧美日韩国产一区二区| 成人午夜两性视频| 91精品视频在线看| 久久福利网址导航| 91亚洲午夜在线| 欧美一级电影免费在线观看| 成人av资源在线播放| 狠狠操狠狠色综合网| 国精产品一区一区三区有限在线| 欧美精品激情在线观看| 国产va免费精品高清在线| 欧美激情中文字幕在线| 欧美色道久久88综合亚洲精品| 欧美激情第6页| 亚洲二区在线播放视频| 91在线观看免费高清完整版在线观看| 97久久伊人激情网| 亚洲国产成人在线播放| 国产精品第二页| 久久久久久尹人网香蕉| 欧美黑人狂野猛交老妇| 亚洲欧美三级伦理| 国产一区二区三区在线观看网站| 国产精品一区二区久久精品| 亚洲成人久久电影| 亚洲第一av网| 国产日韩欧美在线播放| 国产一区二区三区精品久久久| 在线看日韩欧美| 亚洲人成电影网站色…| 欧美日韩在线另类| 欧美国产日韩一区二区三区| 久久久久久久色| 成人激情在线观看| 亚洲午夜国产成人av电影男同| 成人乱色短篇合集| 韩剧1988免费观看全集| 一区二区三区回区在观看免费视频| 欧美性猛xxx| 日韩有码片在线观看| 韩国国内大量揄拍精品视频| 久久免费视频观看| 日韩最新中文字幕电影免费看| 欧美中文在线视频| 精品久久久久久久久久ntr影视| 在线不卡国产精品| 97超级碰碰人国产在线观看| 亚洲自拍中文字幕| 亚洲欧美精品伊人久久| 欧美视频中文字幕在线| 欧美日韩一区二区在线| 欧美福利在线观看| 国产精品久久色| 亚洲精品天天看| 欧美性猛交xxxxx免费看| 疯狂蹂躏欧美一区二区精品| 91精品啪在线观看麻豆免费| 日韩av电影中文字幕| 黄色一区二区在线观看| 国产日韩精品在线播放| 成人97在线观看视频| 91国语精品自产拍在线观看性色| 日韩欧美一区二区三区久久| 国产成人精品网站| 精品国产电影一区| 在线播放日韩av| 国产欧美一区二区| 久久99精品久久久久久噜噜| 欧美在线观看网站| 亚洲一区二区三区毛片| 精品国产乱码久久久久久虫虫漫画| 国产成人福利视频| 亚洲久久久久久久久久久| 欧美精品videos另类日本| 日韩av在线电影网| 国产亚洲精品久久久久久| 26uuu久久噜噜噜噜| 在线观看免费高清视频97| 亚洲自拍偷拍网址| 欧美成人久久久| 国产丝袜一区视频在线观看| 欧美精品免费播放| 亚洲午夜av久久乱码| 国产成人在线视频| 亚洲国产精品人人爽夜夜爽| 超碰日本道色综合久久综合| 日韩电影大片中文字幕| 日韩在线免费av| 亚洲人成在线观| 日韩欧美国产视频| 成人性生交大片免费看视频直播| 亚洲黄一区二区| 91久久嫩草影院一区二区| 亚洲毛片一区二区| 日本久久中文字幕| 中文字幕欧美日韩在线| 日韩成人免费视频| 久久精品国产精品亚洲| 日韩欧美精品网址| 精品偷拍各种wc美女嘘嘘| 亚洲免费影视第一页| 国产精品久久久久久久久| 亚洲桃花岛网站| 91精品国产综合久久男男| 欧美激情xxxx性bbbb| 亚洲精品国产综合区久久久久久久| 日韩在线免费视频观看| 亚洲精品91美女久久久久久久| 久久免费福利视频| 日韩风俗一区 二区| 日韩欧美国产黄色| 久久久久久久999精品视频| 亚洲国产99精品国自产| 福利一区福利二区微拍刺激| 成人精品视频99在线观看免费| 九九热r在线视频精品| xxxxx成人.com| 久久深夜福利免费观看| 国产在线观看精品| 亚洲精选中文字幕| 久久精品亚洲一区| 成人久久一区二区三区| 亚洲精品理论电影| 亚洲国产精品人人爽夜夜爽| 在线观看国产成人av片| 国产美女搞久久| 亚洲黄色片网站| 亚洲精品欧美日韩专区| 精品网站999www| 国产在线播放不卡| 91美女片黄在线观看游戏|