当前位置: 代码迷 >> Android >> Android之圆满退出所有activity方法
  详细解决方案

Android之圆满退出所有activity方法

热度:66   发布时间:2016-05-01 20:07:18.0
Android之完美退出所有activity方法
/*还有一种比较流行的Android经典完美退出方法,使用单例模式创建一个Activity管理对象,
* 该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)
* 专门负责存储新开启的每一个Activity,并且容易理解、易于操作,非常不错!
*
*
* 在每一个Activity中的onCreate方法里添加该Activity到MyApplication对象实例容器中
Mapplication.getInstance().addActivity(this);
在需要结束所有Activity的时候调用exit方法
Mapplication.getInstance().exit();

有人反映,如果程序崩溃,可能会导致该类的被迫关闭并重建,使得前期放入的Activity无法正常关闭。
*
* */
public class Mapplication extends Application {

private List<Activity> activityList = new LinkedList<Activity>();
private static Mapplication instance;

private Mapplication() {
}

// 单例模式中获取唯一的MyApplication实例
public static Mapplication getInstance() {
if (null == instance) {
instance = new Mapplication();
}
return instance;
}

// 添加Activity到容器中
public void addActivity(Activity activity) {
activityList.add(activity);
}

// 遍历所有Activity并finish
public void exit() {
for (Activity activity : activityList) {
activity.finish();
}
System.exit(0);
}
}
1 楼 malong26 2012-03-23  
一直持有这些activity的引用,是否存在风险?
2 楼 limingcai 2012-04-13  
这能有什么风险?
  相关解决方案