溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

android如何處理程序閃退?

發(fā)布時(shí)間:2020-05-29 13:09:13 來(lái)源:億速云 閱讀:539 作者:Leah 欄目:移動(dòng)開發(fā)

這篇文章主要為大家詳細(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è)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI