Android 完美退出 App 方法_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Android 完美退出 App 方法

Android 完美退出 App 方法

 2013/8/19 16:38:45  魏滋珑  博客园  我要评论(0)
  • 摘要:大家都知道Android的Activity是存着历史栈的,比如从A->B->C,C完成finish后回到B,把所有的Activity都finish了,程序就自然退出了。当然在finish的同时也需要是否自己程序的其他资源。所以需要想个办法把Activity给存起来。然后在程序退出的地方调用它们的finish()方法。使用全局变量。对了,第一个想到的就是继承Application,代码入下:publicclassAgentApplicationextendsApplication
  • 标签:android 方法 完美 APP
大家都知道 Android 的 Activity 是存着历史栈的,比如从 A -> B -> C,C 完成 finish 后回到 B,把所有的Activity 都 finish了,程序就自然退出了。 当然在 finish 的同时也需要是否自己程序的其他资源。所以需要想个办法把 Activity 给存起来。然后在程序退出的地方调用它们的 finish()方法。   使用全局变量。对了,第一个想到的就是继承 Application,代码入下:
    public class AgentApplication extends Application {  
      
    private List<Activity> activities = new ArrayList<Activity>();  
      
        public void addActivity(Activity activity) {  
            activities.add(activity);  
        }  
      
        @Override  
        public void onTerminate() {  
            super.onTerminate();  
              
            for (Activity activity : activities) {  
                activity.finish();  
            }  
              
            onDestroy();  
              
            System.exit(0);  
        }  
    }  
然后在 Activity  onCreate 的时候来调用  addActivity (),有人可能想到这个Application需要在所有的 Activity  onCreate的时候都使用,需要做一个单例实例。其实根本不需要。在 Activity 中使用  this.getApplication() 就可以了。   最后在你需要推出程序的地方调用 application.onTerminate() 就可以了。记住:super.onTerminate() 必须调用,代码中的 onDestroy()是我自己的释放其他资源的方法,不是系统的。   运行以上代码后,在LogCat 中会出现一行提示: Process  包名 (pid  xxxxx)  has died.  证明你的程序退出了。
发表评论
用户名: 匿名