通常所用的系统返回键只是返回上一个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();