Android应用程序完全退出

来源:互联网 发布:coc咏王升级数据 编辑:程序博客网 时间:2024/06/04 23:36

问题:Android中应用程序弹出退出对话框退出应用程序时,老是出现上一个Activity,于是将在Activity跳转时将其finish()掉,结果还是不行!

寻其原因:原来项目中有好多Activity用来显示界面,之间还掺扎着数据信息的交流,我们知道Activity是以栈的方式存放,要想将程序退出,自然得将众多Activity销毁掉了!

解决办法:一种比较流行的Android经典完美退出方法:使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activity,并且容易理解、易于操作,非常不错!

步骤如下,3步搞定!
1).MyApplication类(储存每一个Activity,并实现关闭所有Activity的操作)

public class MyApplication extends Application {    //对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList实现了基于动态数组的数据结构,要移动数据。LinkedList基于链表的数据结构,便于增加删除      private List<Activity> activityList = new LinkedList<Activity>();     private static MyApplication instance;     private MyApplication(){ } //单例模式中获取唯一的MyApplication实例 public static MyApplication getInstance() {     if(null == instance) {        instance = new MyApplication();     }     return instance; }//添加Activity到容器中public void addActivity(Activity activity)  {    activityList.add(activity); }//遍历所有Activity并finishpublic void exit(){ for(Activity activity:activityList) {      activity.finish(); } System.exit(0); }}

2)在每一个Activity中的onCreate方法里添加该Activity到MyApplication对象实例容器中
MyApplication.getInstance().addActivity(this);
3)在需要结束所有Activity的时候调用exit方法
MyApplication.getInstance().exit();

0 0
原创粉丝点击