public class ActivityController { public static ArrayList<Activity> list=new ArrayList<Activity>(); //添加栈中新增的activity public static void addActivty(Activity activity){ if(!list.contains(activity)){ list.add(activity); } } //移除销毁了activity public static void removeActivity(Activity activity){ list.remove(activity); } //销毁栈中的activity public static void finishAllActivity(){ for(Activity currentActivity: list){ if(!currentActivity.isFinishing()){ currentActivity.finish(); } } } } //这种作法缺点:当activity异常关闭,会activity关闭不了(该对象的堆内存地址被list中存储着,强引用),形成内存溢出