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中存儲着,強引用),形成內存溢出