一、Android 杀后台进程

使用 Android 的进程 api 类 android.os.Process 杀死进程 :

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

如果当前进程处于前台 , 杀死该进程后 , Android 系统会重启该进程 , 这是 Android 系统本身的机制 ;

注意 : 调用该方法杀死的应用 , 不能处于前台任务栈中 ;

使用 Java 的进程 api 类 java.lang.System 杀死进程 : 参数中传入 0

00 表示正常退出 , 传入其它值表示非正常退出 ;

java.lang.System.exit(0);

如果当前进程处于前台 , 杀死该进程后 , Android 系统会重启该进程 , 这是 Android 系统本身的机制 ;

调用该方法杀死的应用 , 不能处于前台任务栈中 ;

ActivityManager 会监听前台进程 , 一旦发现应用不是正常结束 , 就会重启应用 , 使用上述两种方法杀死的进程就属于非正常杀死的进程 , 应用进程会重新启动 ;

二、Android 杀前台进程

关闭了所有的 Activity 界面窗口 , 应用进程自然就被杀死了 ;

activity.finishAffinity();

上述代码可以关闭所有的本任务栈内的 Activity 窗口界面 , 自然就可以杀死本进程 ; 如果想要杀得更彻底 , 使用该方法与上面的两种杀进程的方法结合使用 ;

杀死前台进程 , 将所有的 Activity 关闭 , 然后调用 android.os.Process.killProcess(android.os.Process.myPid()) 或 java.lang.System.exit(0) 中的一种方法即可 ;

关闭 Activity 建议使用 Activity 类的 finishAffinity() 方法 , 该方法可以关闭当前前台任务栈中的所有 Activity , 之后再调用上述两个杀进程的方法 , 即可成功关闭进程 , 应用不会重启 ;

// 1. 调用 Activity 类的 finishAffinity() 方法关闭任务栈中所有 Activity 界面

activity.finishAffinity();

// 2. 使用 Android 的进程 api 类 `android.os.Process` 杀死进程

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

// 3. 使用 Java 的进程 api 类 `java.lang.System` 杀死进程

java.lang.System.exit(0);

三、Android 杀其它进程

获取 ActivityManager , 然后使用 killBackgroundProcesses 方法杀死后台的其它进程 ;

ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);

activityManager.killBackgroundProcesses("com.google.example");

需要使用 android.permission.KILL_BACKGROUND_PROCESSES 权限 ;

在清单文件中配置该权限 :

android kill 命令杀死进程,【Android 应用开发】Android 杀进程总结 ( 杀后台进程 | 杀前台进程 | 杀其它进程 )...相关推荐

  1. linux用kill命令删除进程,linux 使用kill命令杀死进程的几个办法

    常规篇: 首先,用ps查看进程,方法如下: $ ps -ef -- smx       1822     1  0 11:38 ?        00:00:49 gnome-terminal smx ...

  2. Android NFC技术(三)——初次开发Android NFC你须知道NdefMessage和NdefRecord

    Android NFC技术(三)--初次开发Android NFC你须知道NdefMessage和NdefRecord 这最近也是有好多天没写博客了,除了到处张罗着搬家之外,依旧还是许许多多的琐事阻碍 ...

  3. android 命令kill进程号,一定是我打开的姿势不对——Android下使用kill命令杀死指定进程...

    环境:Android 5.1.1(已root) 最近有一个需求,需要在Android下杀死指定pid的进程.Android原生API提供了几个接口: (1)android.os.Process.kil ...

  4. Linux 系统中kill命令杀死进程常用技巧

    前言 在Linux的系统中,kill是我们最常见的命令之一. kill,英语中为杀死的意思,顾名思义,就是用来杀死一些东西的命令,在linux中就是用来杀死系统中的进程. 在Windows系统中,如果 ...

  5. linux命令中强杀进程,Linux 系统中kill命令杀死进程常用技巧

    目录 前言 基础 进阶 1 查找进程号的方式进行改进 2 将常规的两步杀死进程合并为一步 3 强制踢掉登陆用户 kill的注意事项 前言 在Linux的系统中,kill是我们最常见的命令之一. kil ...

  6. 用eclipse开发android小程序,【转】Eclipse 开发Android小程序遇到的问题总结

    用Eclipse 开发Android小程序遇到些小问题,在一边学习的过程中,将遇到的问题就记录一下,方面挺杂的,有关于程序出错的,关于linux应用的,有eclipse设置等- 1.ERROR: Ap ...

  7. 土豆 android 缓存路径,#土豆记事#教你开发Android App之 —— Hello Android

    上一篇文章,我们讲了如何创建一个工程,以及Android工程的一些基本概念,把工程创建出来后,我们看下文件目录结构,一个简单的工程结构如下. 其实这个目录结构初次看还是挺让人心慌慌的. Android ...

  8. android dd命令,【测试人员技能】Android shell 下dd命令浅析

    一.前言 小编在最近的过程中遇到了一个需要构造存储空间不足的场景,并且还需要覆盖验证各种机型,而单个拷贝大文件到测试机器又太繁琐,小编查阅资料发现下的dd命令可以协助小编完成此项任务,正好借此机会给大 ...

  9. android知乎日报中的动画,开发Android知乎日报(一)简介

    对于一个新手来说开发一个完整点的项目还是会有点难度的,可是真的开发过了就会明白,其实开发一个项目,知识已知知识点的堆叠,今天我从0开始开发一个知乎日报,希望能给新手一些帮助吧.代码会同步到GitHub ...

最新文章

  1. typedef和define具体的详细区别
  2. iOS开发UINavigation系列四——导航控制器UINavigationController
  3. circRNA相互作用预测数据库CSCD2
  4. vos3000落地网关对接教学_跨国合作:Serverless Components 在腾讯云的落地和实践
  5. 7-278 求幂级数展开的部分和 (20 分)
  6. docker使用问题总结
  7. mysql time 5分钟_MySQL 使用 PV 和 PVC 每天5分钟玩转 Docker 容器技术(154)
  8. ghost64怎么装linux,CentOS 7.5上安装Node.js搭建Ghost个人博客
  9. python下载电影包_我是如何使用python控制迅雷自动下载电影的?
  10. 绝对值线性化的两种方式
  11. 高并发之阿里云弹性伸缩的使用记录
  12. 2019年Q1美国手游市场总收入24.3亿美元,中国手游贡献2.8亿美元
  13. 对接斑马打印机 usb模式+打印机共享模式
  14. mysql主键设置了递增,插入语句的写法
  15. js实现金额的大写转小写
  16. openGauss 简介
  17. xp系统在哪里查看补丁安装?系统补丁查看方法
  18. ESP32-C3 迷你智能语音照明
  19. GD32 CAN 2.0 ISO-15765 500K源码
  20. 老友记台词学习笔记 SE01EP03(一)

热门文章

  1. 苹果微信点开才会收到信息_骚扰短信也搞歧视?只有苹果用户能“得到整个澳门”?...
  2. c#期中考试程序设计复习
  3. access怎么查询工龄_ACCESS查询操作题及答案详解.doc
  4. webpack打包文件过大,如何解决
  5. 一文教你理解傅里叶变换及MATLAB在求傅里叶变换中的应用
  6. 监控易:信创工程,几十万台终端设备桌面集中监控运维方案​
  7. 原码、反码、补码的计算方法
  8. linux进程管理,参数解析
  9. ps怎么去掉框框不伤字体_如何取消Photoshop输入字体带有锯齿
  10. echarts折线图鼠标悬浮竖线_echarts y轴,显示数据,但不显示竖线