ANDROID 完美退出APP的实例代码
来源:互联网 发布:linux启动nginx服务 编辑:程序博客网 时间:2024/06/05 09:25
大家都知道 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. 证明你的程序退出了。
使用全局变量。对了,第一个想到的就是继承 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. 证明你的程序退出了。
您可能感兴趣的文章:
- 怎么发布打包并发布自己的Android应用(APP)
- Android APP与媒体存储服务的交互
- Android 避免APP启动闪黑屏的解决办法(Theme和Style)
- Android获取应用程序名称(ApplicationName)示例
- Android学习笔记--通过Application传递数据代码示例
- Android获取手机型号/系统版本号/App版本号等信息实例讲解
- 理解Android的手势识别提高APP的用户体验
- android FM播放时拔出耳机后FM APP自动close解决方法
- Android笔记之:App调试的几个命令的实践与分析
- Android笔记之:App列表之下拉刷新的使用
- Android笔记之:App自动化之使用Ant编译项目多渠道打包的使用详解
- Android笔记之:App模块化及工程扩展的应用
- Android笔记之:App应用之发布各广告平台版本的详解
- Android笔记之:App应用之启动界面SplashActivity的使用
- 修改Android App样式风格的方法
0 0
- ANDROID 完美退出APP的实例代码
- android 完美退出APP的实例代码(管理activity)
- 【代码】Android 退出 App 方法的完美解决
- Android 完美退出 App
- Android 完美退出 App (Exit)
- Android 完美退出 App (Exit)
- Android 完美退出 App (Exit)
- Android 完美退出 App (Exit)
- Android 完美退出 App (Exit)
- Android程序的完美退出
- android完美的退出方法
- android程序的完美退出
- android程序的完美退出
- Android APP的退出
- 关于app退出的问题,完美退出方式
- Android开发全程记录(六)——完美退出APP的方法
- Android 退出app的方式
- APP应用完美退出的方法的尝试
- CodeForces 412E - E-mail Addresses (模拟)
- IT行业三大定律
- android反编译
- Cocos2d-x开发网络游戏(四) 处理网络线程
- 【算法-排序之一】冒泡排序
- ANDROID 完美退出APP的实例代码
- hdu1874 畅通工程续 最短路
- 基于多幅图像的3D重建资料
- ListViewItem 的动画
- 经典面试题分析之Google搜索之星(js实现)
- 理想程序猿与现实程序猿
- 关于学习Linux 编程的基本经典书籍推荐
- 读《书都不会读,还想成功》有感
- ios瀑布流心得