您好,登錄后才能下訂單哦!
這篇文章主要為大家詳細(xì)介紹了android開發(fā)時(shí)出現(xiàn)程序閃退的處理方法,文中示例代碼介紹的非常詳細(xì),在做開發(fā)時(shí)如果出現(xiàn)這個(gè)問(wèn)題希望你能通過(guò)這篇文章解決問(wèn)題。
直接上代碼:
CrashHandler
/**
* 自定義的 異常處理類 , 實(shí)現(xiàn)了 UncaughtExceptionHandler接口
*
*/
public class CrashHandler implements UncaughtExceptionHandler {
// 需求是 整個(gè)應(yīng)用程序 只有一個(gè) MyCrash-Handler
private static CrashHandler INSTANCE ;
private Context context;
//1.私有化構(gòu)造方法
private CrashHandler(){
}
public static synchronized CrashHandler getInstance(){
if (INSTANCE == null)
INSTANCE = new CrashHandler();
return INSTANCE;
}
public void init(Context context){
this.context = context;
}
public void uncaughtException(Thread arg0, Throwable arg1) {
System.out.println("程序掛掉了 ");
// 在此可以把用戶手機(jī)的一些信息以及異常信息捕獲并上傳,由于UMeng在 這方面有很程序的api接口來(lái)調(diào)用,故沒(méi)有考慮
//干掉當(dāng)前的程序
android.os.Process.killProcess(android.os.Process.myPid( ));
}
}
CrashApplication
/**
* 在開發(fā)應(yīng)用時(shí)都會(huì)和Activity打交道,而Application使用的就相對(duì)較少了。
* Application是用來(lái)管理應(yīng)用程序的全局狀態(tài)的,比如載入資源文件。
* 在應(yīng)用程序啟動(dòng)的時(shí)候Application會(huì)首先創(chuàng)建,然后才會(huì)根據(jù)情況(Intent)啟 動(dòng)相應(yīng)的Activity或者Service。
* 在本文將在Application中注冊(cè)未捕獲異常處理器。
*/
public class CrashApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
CrashHandler handler = CrashHandler.getInstance();
handler.init(getApplicationContext());
Thread.setDefaultUncaughtExceptionHandler(handler);
}
}
AndroidManifest.xml
中注冊(cè) <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/andr oid"package="org.wp.activity" android:versionCode="1" android:ve rsionName="1.0">
<application android:icon="@drawable/icon" android:label="@s tring/app_name" android:name=".CrashApplication" android:debuggable="tru e">
<activity android:name=".MainActivity" android:label="@s tring/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category. LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="8" />
</manifest>
看完上述內(nèi)容,你們掌握android開發(fā)時(shí)出現(xiàn)程序閃退的處理方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。