优雅的Android应用程序完全退出方案

转载 2015年07月07日 11:21:28
网上有关应用程序完全退出有一堆的解决方案,大致归类如下:
1.任务管理器方法(ActivityManager)。
2.android.os.Process.killProcess。
3.单例模式创建一个Activity管理对象,该对象中有一个Activity容器,每次新打开一Activity就加入到容器中,然后在完全退出时,循环遍历然后finish();
4.广播方式。
5.捕获异常,然后屏蔽强制对话框。
虽然实现方式很多,但感觉都不是很优雅,特别是第3种看起来很优雅,但是有一个很大的问题,存在严重的内存泄露隐患,这里给出我的一种实现方案:
比如应用程序启动加载spash页面(A)然后进入主界面(B),然后B启动C,C启动D,D启动B。
如果我们按默认启动方式的话,此时要在B页面关闭整个应用程序的话需要依次关闭B D C B A;
但是如果我们给B设置android:launchMode="singleTask" 当D启动B的时候就会自动清空D C 也不会重新启动一个B,而是用原来的B,这样在B关闭整个应用程序就只需要关闭B和A,当我们A启动B的时候finish掉A,我们就可以很轻松的在B页面关闭整个应用程序,因为当前只有一个B。
只要我们灵活的应用Activity的几种启动方式,充分了解每种启动方式使用的场景,就可以很容易的让应用程序完全随心所欲的退出。
本文转载自http://blog.pgyer.com/archives/262,为作者原创,欢迎随意转载,转载请注明出处。

Android退出应用最优雅的方式(改进版)

由于应用启动退出之后,会在应用中反复跳转页面,在这个过程中,一部分页面可能会驻留的内存中,导致无法退出应用的情况,今天我们就来讲如何以优雅的方式退出应用...
  • soul_code
  • soul_code
  • 2016年01月04日 09:22
  • 16643

Android之安全退出应用程序的几种方式

当我们做项目的时候,当用户在几秒的时间之内按回车键的时候,需要退出程序,但是退出我们要确保安全退出,防止还有程序还在后台运行,下面介绍几种安全的退出程的几种方式(综合了其它博客的然后加上自己使用的看到...
  • u011068702
  • u011068702
  • 2015年12月02日 23:11
  • 1811

Android 完全退出当前应用程序的四种正确方法

Android程序有很多Activity,比如说主窗口A,调用了子窗口B,如果在B中直接finish(), 接下里显示的是A。在B中如何关闭整个Android应用程序呢?本人总结了几种比较简单的实现方...
  • changsimeng
  • changsimeng
  • 2017年01月03日 17:30
  • 2184

【移动开发】Android应用程序完全退出

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://smallwoniu.blog.51cto.com/3911954/1248643...
  • anlidengshiwei
  • anlidengshiwei
  • 2015年05月18日 15:13
  • 172

【移动开发】Android应用程序完全退出

前段期间,参加比赛做项目时遇到了一个问题:Android中应用程序弹出退出对话框退出应用程序时,老是出现上一个Activity,于是将在Activity跳转时将其finish()掉,结果还是不行!寻其...
  • quan648997767
  • quan648997767
  • 2014年07月16日 11:45
  • 533

完全退出Android应用程序的四种方法

退出形式:    1) 菜单->退出    2) 按back键,提示再按一次退出    3) 按back,弹出退出提示对话框    4) 按back直接退出   Android程序有很多A...
  • u012861467
  • u012861467
  • 2015年11月30日 21:09
  • 307

【移动开发】Android应用程序完全退出

前段期间,参加比赛做项目时遇到了一个问题:Android中应用程序弹出退出对话框退出应用程序时,老是出现上一个Activity,于是将在Activity跳转时将其finish()掉,结果还是不行!寻其...
  • qq457163027
  • qq457163027
  • 2016年04月08日 12:52
  • 137

Android应用程序完全退出

Android中应用程序弹出退出对话框退出应用程序时,老是出现上一个Activity,于是将在Activity跳转时将其finish()掉,结果还是不行!寻其原因:原来项目中有好多Activity用来...
  • cl1771066100
  • cl1771066100
  • 2014年05月26日 16:00
  • 351

Android应用程序退出的一种方案

思路:把所有Activity 都收集到一个 List 链表中,在退出的时候只需要使用for循环遍历一遍链表即可。 首先新建一个SysApplication.java文件 /** *使用单例保存所有的A...
  • liuye09043124
  • liuye09043124
  • 2013年12月02日 16:06
  • 805

Kotlin简单实用方法既使用Kotlin优雅的开发Android应用

2017谷歌I/O全球开发者大会,于2017年5月17日至19日在美国加州山景城海岸线圆形剧场(Shoreline Amphitheatre)举行。谷歌在本次大会上充分介绍了人工智能在各个领域的应用,...
  • sinat_37524093
  • sinat_37524093
  • 2017年06月28日 11:53
  • 69
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:优雅的Android应用程序完全退出方案
举报原因:
原因补充:

(最多只允许输入30个字)