在Android应用中,有时候我们经常需要退出整个应用程序释放资源,而不是单纯地退出某一个Activity,我在网上搜索了一些资料,结合自身的体验,比较方便好用的是如下实例:
新建MyApplication类,具体如下 package com.llp.dataprocess.util; import java.util.LinkedList; import java.util.List; import android.app.Activity; import android.app.Application; public class MyApplication extends Application{ // 用于存放当前所有的Activity private List<Activity> mList = new LinkedList<Activity>(); // MyApplication类型的静态常量,用于在某一个Acitivty中获取instance并调用MyApplication的类方法 private static MyApplication instance; private MyApplication(){ } // 静态方法,用于获取静态常量 instance public synchronized static MyApplication getInstance(){ if (null == instance) { instance = new MyApplication(); } return instance; } // add Activity public void addActivity(Activity activity){ mList.add(activity); } // 退出整个应用的方法 public void exit(){ try { for (Activity activity : mList) { if (activity != null) activity.finish(); } } catch (Exception e) { e.printStackTrace(); } finally { System.exit(0); } } public void onLowMemory(){ super.onLowMemory(); System.gc(); } } 具体使用的时候,在每个Activity的OnCrate方法里面调用如下: MyApplication.getInstance().addActivity(this); 每创建一个Activity,就会添加到 List 中在想要退出应用的地方调用如下: MyApplication.getInstance().exit();