Android 实现彻底退出自己APP 并杀掉所有相关的进程

 更新时间:2020年03月20日 10:43:04   作者:怪伽先森  
这篇文章主要介绍了Android 实现彻底退出自己APP 并杀掉所有相关的进程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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

public void killAppProcess()
{
 //注意:不能先杀掉主进程,否则逻辑代码无法继续执行,需先杀掉相关进程最后杀掉主进程
 ActivityManager mActivityManager = (ActivityManager)CurrentActivity.this.getSystemService(Context.ACTIVITY_SERVICE);
 List<ActivityManager.RunningAppProcessInfo> 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

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

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

相关文章

  • 深入理解Android 5.0中的Toolbar

    深入理解Android 5.0中的Toolbar

    相信大家都有所体会,搜索Toolbar相关文章满天飞,但是大都不是很全面,每次要用到的时候又要重头过滤一遍。而且随着版本升级很多较早的文章的方法已经失效,最近刚好好用到Toolbar,就将相关配置整理下,方便以后需要的时候或者有需要的朋友们参考学习。
    2017-01-01
  • Android实现自定义ImageView的圆角矩形图片效果

    Android实现自定义ImageView的圆角矩形图片效果

    android显示圆角矩形的图片其原理就是首先获取到图片的Bitmap,然后进行裁剪对应的圆角矩形的bitmap,然后在onDraw()进行绘制圆角矩形图片输出
    2018-05-05
  • android实现可自由移动、监听点击事件的悬浮窗

    android实现可自由移动、监听点击事件的悬浮窗

    这篇文章主要为大家详细介绍了android实现可自由移动、监听点击事件的悬浮窗,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • Android webview与js交换JSON对象数据示例

    Android webview与js交换JSON对象数据示例

    js主动调用android的对象方式,android也无法返回给js一个jsonobject,需要js做一下转换,具体代码如下,感兴趣的朋友可以参考下哈
    2013-06-06
  • RxJava入门指南及其在Android开发中的使用示例

    RxJava入门指南及其在Android开发中的使用示例

    RxJava是JVM的一个扩展库,它能够帮助Java更加方便地实现基于事件的编程,这对安卓来说十分有用,接下来就一起来看一下RxJava入门指南及其在Android开发中的使用示例:
    2016-06-06
  • Android编程出现Button点击事件无效的解决方法示例

    Android编程出现Button点击事件无效的解决方法示例

    这篇文章主要介绍了Android编程出现Button点击事件无效的解决方法,结合实例形式分析了Android编程中出现Button点击事件无效的原因及相关的解决方法,需要的朋友可以参考下
    2018-02-02
  • gradle中的properties文件详解

    gradle中的properties文件详解

    这篇文章主要介绍了gradle中的properties文件详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Android主题切换之探究白天和夜间模式

    Android主题切换之探究白天和夜间模式

    所谓的主题切换,就是能够根据不同的设定,呈现不同风格的界面给用户,也就是所谓的换肤。下面跟小编一起来看看怎么实现Android主题切换中的白天和夜间模式。
    2016-07-07
  • Android编程实现录音及保存播放功能的方法【附demo源码下载】

    Android编程实现录音及保存播放功能的方法【附demo源码下载】

    这篇文章主要介绍了Android编程实现录音及保存播放功能的方法,结合实例形式分析了Android基于MediaRecorder类进行录音机保存播放功能的相关操作技巧,并附带demo源码供读者下载,需要的朋友可以参考下
    2018-01-01
  • Android中Split()字符串分割特殊用法案例详解

    Android中Split()字符串分割特殊用法案例详解

    本文通过案例的形式给大家详细介绍了android中split()字符串分割特殊用法的知识,非常不错具有参考借鉴价值,感兴趣的朋友参考下
    2016-11-11

最新评论