最理想的android退出方案

Home / Android MrLee 2015-3-16 2906

很多新手开发android程序的时候经常会遇到程序退不出或者是都finish还有线程在后台跑的情况。度娘一下也有不少方案!
方案一:诛如把所有的activity放到一个队列中,要退出的时候把所有的acitivity都finish掉,这是一种解决方案,但是如果你的程序出现的BUG引发数据被回收或者空引发、内存泄漏……你的队列的size极有可能是0了,甚至这个队列是null值了!
方案二:有人把第一个activity设置到APP的顶端,要退出APP的时候用FLAG_ACTIVITY_CLEAR_TOP把所有的acitivty清理掉,再OnNewIntent里面 protected void onNewIntent(Intent intent) { // TODO Auto-generated method stub super.onNewIntent(intent); //退出 if ((Intent.FLAG_ACTIVITY_CLEAR_TOP & intent.getFlags()) != 0) { finish(); } }这个也是一样的,如果程序出现crash也是有问题的。而且还在要配置里面写东西,不灵活!
那么我的方案是,写一个基类BaseActivity,然后里面写一个protected static boolean exit = false;变量,所有的Activity都继承它,然后在这个BaseActivity的onResume函数中判断一下exit是否为真,如果真直接finish。然后在你最开始启动的Acitivity的finish(重写)里面写上两句 super.finish();System.exit(0);就算是程序完全退出了。连进程都没了。你所有的静态变量、线程、分配的任何东西都被释放了!

本文链接:https://www.it72.com/1436.htm

推荐阅读
最新回复 (0)
返回