关闭

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

250人阅读 评论(0) 收藏 举报
分类:
网上有关应用程序完全退出有一堆的解决方案,大致归类如下:
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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:100872次
    • 积分:2918
    • 等级:
    • 排名:第12125名
    • 原创:181篇
    • 转载:122篇
    • 译文:0篇
    • 评论:6条
    文章分类
    最新评论