新手學習如何完全退出整個應用

天空哥發表於2013-12-02

通常所用的系統返回鍵只是返回上一個activity,當前activity並沒有結束掉,只是在後臺執行,而你看不到,這樣會佔用資源,所以我們需要設定在退出應用時,結束掉所有activity。方法有幾種,我覺得比較好的方法是建一個類繼承Application,在其中遍歷所有activity,在activity的onCreat方法中將activity新增進去,具體看下方程式碼:

1.建一個class繼承Application

import java.util.LinkedList;
import java.util.List;

import android.app.Activity;
import android.app.Application;

public class IflyorExit extends Application {
 
 private List<Activity> activityList = new LinkedList<Activity>();
 
 private static IflyorExit instance;
 
 private IflyorExit(){
  
 }
 //單例模式中獲取唯一的MyApplication例項
 public static IflyorExit getInstance(){
  if(instance == null){
   instance = new IflyorExit();
  }
  return instance;
 }
 
 //新增Activity到容器中
 public void addActivity (Activity activity){
  
 activityList.add(activity); 
 
 }
 
 //遍歷所有Activity並finish
 public void exit(){
  for(Activity activity : activityList){
   if(!activity.isFinishing()){
   activity.finish();
   }
  }
 }

}

2.在需要關閉的activity的onCreat方法中新增程式碼

//將activity新增到遍歷中
  IflyorExit.getInstance().addActivity(this);

3.在需要退出整個應用的方法中呼叫該方法

IflyorExit.getInstance().exit();



相關文章