Android 应用退出的几种方法
android退出运用,主要有3种常用方案。
分别是:
杀进程,暴力退出app。
系统退出,强制性退出。
activity管理(栈),合理性退出。
【主要原理】
主要是通过通知系统杀死运用,或者移除所有的界面资源达到退出运用的目的。
【详细实现】
杀进程,暴力退出app。
优缺点:暴力,但是容易丢失数据,可能会引起不必要的问题。
代码如下:
android.os.Process.killProcess(android.os.Process.myPid());
系统退出,强制性退出。
优缺点:相对第一种方法温和点,谨慎使用。
代码如下:
System.exit(0);
activity管理(栈),合理性退出。
优缺点:推荐使用,一个个移除apk打开的所有资源,达到退出apk的目的。
代码如下:
public class ScreenManager {
private static Stack<Activity> activityStack;
private static ScreenManager instance;
private ScreenManager(){
}
public static ScreenManager getScreenManager(){
if(instance==null){
instance=new ScreenManager();
}
return instance;
}
//退出栈顶Activity
public void popActivity(Activity activity){
if(activity!=null){
activity.finish();
activityStack.remove(activity);
activity=null;
}
}
//获得当前栈顶Activity
public Activity currentActivity(){
Activity activity=activityStack.lastElement();
return activity;
}
//将当前Activity推入栈中
public void pushActivity(Activity activity){
if(activityStack==null){
activityStack=new Stack<Activity>();
}
activityStack.add(activity);
}
//退出栈中所有Activity
public void popAllActivityExceptOne(Class cls){
while(true){
Activity activity=currentActivity();
if(activity==null){
break;
}
if(activity.getClass().equals(cls) ){
break;
}
popActivity(activity);
}
}
}
【最后】
推荐使用第三种方案,方便管理退出。