Android 应用退出的几种方法

 我来答
8558892
2017-03-27 · TA获得超过494个赞
知道小有建树答主
回答量:599
采纳率:79%
帮助的人:262万
展开全部

android退出运用,主要有3种常用方案。

分别是:

  1. 杀进程,暴力退出app。

  2. 系统退出,强制性退出。

  3. activity管理(栈),合理性退出。

【主要原理】

主要是通过通知系统杀死运用,或者移除所有的界面资源达到退出运用的目的。

【详细实现】

  1. 杀进程,暴力退出app。

    优缺点:暴力,但是容易丢失数据,可能会引起不必要的问题。

    代码如下:

    android.os.Process.killProcess(android.os.Process.myPid()); 

  2. 系统退出,强制性退出。

    优缺点:相对第一种方法温和点,谨慎使用。

    代码如下:


    System.exit(0);


  3. 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);

}

}

}


【最后】

推荐使用第三种方案,方便管理退出。

微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式