优雅的Android应用程序完全退出方案
来源:互联网 发布:100亿条数据查询效率 编辑:程序博客网 时间:2024/06/06 08:46
网上有关应用程序完全退出有一堆的解决方案,大致归类如下:
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,为作者原创,欢迎随意转载,转载请注明出处。
0 0
- 优雅的Android应用程序完全退出方案
- Android应用程序的完全退出
- Android应用程序的完全退出
- android 应用程序的完全退出
- Android退出应用程序,完全退出!
- Android完全退出应用程序
- Android完全退出应用程序
- android 完全退出应用程序
- android 完全退出应用程序
- android 完全退出应用程序
- Android完全退出应用程序
- Android完全退出应用程序
- Android完全退出应用程序
- Android完全退出应用程序 .
- android完全退出应用程序
- android 完全退出应用程序
- Android完全退出应用程序
- android 完全退出应用程序
- 《C语言及程序设计》实践参考——间隔选职工
- C++ vtable layout
- 使用Dom4j解析XML
- poj 1286
- iOS 8 AutoLayout 及SizeClass(二) 使用详解
- 优雅的Android应用程序完全退出方案
- 35、Linux中shell数据重定向(输入重定向与输出重定向)
- 驱动-linux 中断处理
- 创建,删除文件或文件夹及判断其是否存在
- 程序员编程生涯中会犯的7个错误
- 关于“被继承的样式特性值为0”的理解
- jyphon 环境变量配置
- linux下mysql忘记密码解决办法
- 《C语言及程序设计》实践参考——二进制文件浏览器