android退出app的方法,Android 实现彻底退出自己APP 并杀掉所有相关的进程[通俗易懂]

android退出app的方法,Android 实现彻底退出自己APP 并杀掉所有相关的进程[通俗易懂]彻底杀掉App相关进程的代码publicvoidkillAppProcess(){//注意:不能先杀掉主进程,否则逻辑代码无法继续执行,需先杀掉相关进程最后杀掉主进程ActivityManagermActivityManager=(ActivityManager)CurrentActivity.this.getSystemService(Context.ACTIVITY_SERVIC…

大家好,又见面了,我是你们的朋友全栈君。

彻底杀掉 App 相关进程的代码

public void killAppProcess()

{

//注意:不能先杀掉主进程,否则逻辑代码无法继续执行,需先杀掉相关进程最后杀掉主进程

ActivityManager mActivityManager = (ActivityManager)CurrentActivity.this.getSystemService(Context.ACTIVITY_SERVICE);

List mList = mActivityManager.getRunningAppProcesses();

for (ActivityManager.RunningAppProcessInfo runningAppProcessInfo : mList)

{

if (runningAppProcessInfo.pid != android.os.Process.myPid())

{

android.os.Process.killProcess(runningAppProcessInfo.pid);

}

}

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

System.exit(0);

}

需要注意的坑

1. KillProcess()

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

可以杀死当前应用活动的进程,这一操作将会把所有该进程内的资源(包括线程全部清理掉)。当然,由于 ActivityManager 时刻监听着进程,一旦发现进程被非正常 Kill,它将会试图去重启这个进程。

这就是为什么,有时候当我们试图这样去结束掉应用时,发现 app 会自动重新启动的原因.

2. System.exit()

System.exit() 是 Java 中结束进程的方法,调用它将关闭当前的 JVM 虚拟机。

//表示是正常退出;

System.exit(0);

//表示是非正常退出,通常这种退出方式应该放在catch块中

System.exit(1);

3. App crash 后重启

上面链接中的文章写得很好很全面,参考即可

以上这篇Android 实现彻底退出自己APP 并杀掉所有相关的进程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/160774.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • mysql 10061解决方法

    mysql 10061解决方法

  • IntelliJ IDEA 社区版使用指南

    IDEA的专业版商用是需要付费的,不建议大家在工作中使用破解的软件。大家完全可以使用社区版,最棒的就是大家都可以贡献插件,本文从性能调优和安装插件两个方面来阐述社区版在使用过程中需要如何操作。 0.写在前…

  • vc6.0控件工具栏_mfc控件隐藏

    vc6.0控件工具栏_mfc控件隐藏DevExpressVCLControls是Devexpress公司旗下最老牌的用户界面套包,所包含的控件有:数据录入、图表、数据分析、导航、布局等。该控件能帮助您创建优异的用户体验,提供高影响力的业务解决方案,并利用您现有的VCL技能为未来构建下一代应用程序DevExpressVCLv21.1.6最新版下载具体更新内容如下:此列表包括v21.1.6中已解决的所有问题。所有VCL产品T1035535–如果VCL设计器的DPI值不同于96,DevExpress在RADStud…

  • 数学建模的一些方法_对数学建模的认识

    数学建模的一些方法_对数学建模的认识既然是数模,你所知道的数学模型具体有哪些呢?几何模型、代数模型、规划模型、优化模型、微分方程模型、统计模型、概率模型、图论模型、决策模型等。

  • ResNet18复现「建议收藏」

    ResNet18复现「建议收藏」ResNet18的网络架构图首先将网络分为四层(layers),每层有两个模块组成,除了第一层是两个普通的残差块组成,其它三层有一个普通的残差块和下采样的卷积块组成。输入图像为3x224x224格式,经过卷积池化后为64x112x112格式进入主网络架构。代码如下:importtorchfromtorchimportnnfromtorch.nnimportfunctionalasFclassBasicBlock(nn.Module):def__ini

  • BI_开发_问题:ORA-26002: Table DWH.W_XACT_TYPE_D has index defined upon it.

    BI_开发_问题:ORA-26002: Table DWH.W_XACT_TYPE_D has index defined upon it.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号