android kill 命令杀死进程,【Android 应用开发】Android 杀进程总结 ( 杀后台进程 | 杀前台进程 | 杀其它进程 )...
一、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 杀进程总结 ( 杀后台进程 | 杀前台进程 | 杀其它进程 )...相关推荐
- linux用kill命令删除进程,linux 使用kill命令杀死进程的几个办法
常规篇: 首先,用ps查看进程,方法如下: $ ps -ef -- smx 1822 1 0 11:38 ? 00:00:49 gnome-terminal smx ...
- Android NFC技术(三)——初次开发Android NFC你须知道NdefMessage和NdefRecord
Android NFC技术(三)--初次开发Android NFC你须知道NdefMessage和NdefRecord 这最近也是有好多天没写博客了,除了到处张罗着搬家之外,依旧还是许许多多的琐事阻碍 ...
- android 命令kill进程号,一定是我打开的姿势不对——Android下使用kill命令杀死指定进程...
环境:Android 5.1.1(已root) 最近有一个需求,需要在Android下杀死指定pid的进程.Android原生API提供了几个接口: (1)android.os.Process.kil ...
- Linux 系统中kill命令杀死进程常用技巧
前言 在Linux的系统中,kill是我们最常见的命令之一. kill,英语中为杀死的意思,顾名思义,就是用来杀死一些东西的命令,在linux中就是用来杀死系统中的进程. 在Windows系统中,如果 ...
- linux命令中强杀进程,Linux 系统中kill命令杀死进程常用技巧
目录 前言 基础 进阶 1 查找进程号的方式进行改进 2 将常规的两步杀死进程合并为一步 3 强制踢掉登陆用户 kill的注意事项 前言 在Linux的系统中,kill是我们最常见的命令之一. kil ...
- 用eclipse开发android小程序,【转】Eclipse 开发Android小程序遇到的问题总结
用Eclipse 开发Android小程序遇到些小问题,在一边学习的过程中,将遇到的问题就记录一下,方面挺杂的,有关于程序出错的,关于linux应用的,有eclipse设置等- 1.ERROR: Ap ...
- 土豆 android 缓存路径,#土豆记事#教你开发Android App之 —— Hello Android
上一篇文章,我们讲了如何创建一个工程,以及Android工程的一些基本概念,把工程创建出来后,我们看下文件目录结构,一个简单的工程结构如下. 其实这个目录结构初次看还是挺让人心慌慌的. Android ...
- android dd命令,【测试人员技能】Android shell 下dd命令浅析
一.前言 小编在最近的过程中遇到了一个需要构造存储空间不足的场景,并且还需要覆盖验证各种机型,而单个拷贝大文件到测试机器又太繁琐,小编查阅资料发现下的dd命令可以协助小编完成此项任务,正好借此机会给大 ...
- android知乎日报中的动画,开发Android知乎日报(一)简介
对于一个新手来说开发一个完整点的项目还是会有点难度的,可是真的开发过了就会明白,其实开发一个项目,知识已知知识点的堆叠,今天我从0开始开发一个知乎日报,希望能给新手一些帮助吧.代码会同步到GitHub ...
最新文章
- typedef和define具体的详细区别
- iOS开发UINavigation系列四——导航控制器UINavigationController
- circRNA相互作用预测数据库CSCD2
- vos3000落地网关对接教学_跨国合作:Serverless Components 在腾讯云的落地和实践
- 7-278 求幂级数展开的部分和 (20 分)
- docker使用问题总结
- mysql time 5分钟_MySQL 使用 PV 和 PVC 每天5分钟玩转 Docker 容器技术(154)
- ghost64怎么装linux,CentOS 7.5上安装Node.js搭建Ghost个人博客
- python下载电影包_我是如何使用python控制迅雷自动下载电影的?
- 绝对值线性化的两种方式
- 高并发之阿里云弹性伸缩的使用记录
- 2019年Q1美国手游市场总收入24.3亿美元,中国手游贡献2.8亿美元
- 对接斑马打印机 usb模式+打印机共享模式
- mysql主键设置了递增,插入语句的写法
- js实现金额的大写转小写
- openGauss 简介
- xp系统在哪里查看补丁安装?系统补丁查看方法
- ESP32-C3 迷你智能语音照明
- GD32 CAN 2.0 ISO-15765 500K源码
- 老友记台词学习笔记 SE01EP03(一)
热门文章
- 苹果微信点开才会收到信息_骚扰短信也搞歧视?只有苹果用户能“得到整个澳门”?...
- c#期中考试程序设计复习
- access怎么查询工龄_ACCESS查询操作题及答案详解.doc
- webpack打包文件过大,如何解决
- 一文教你理解傅里叶变换及MATLAB在求傅里叶变换中的应用
- 监控易:信创工程,几十万台终端设备桌面集中监控运维方案​
- 原码、反码、补码的计算方法
- linux进程管理,参数解析
- ps怎么去掉框框不伤字体_如何取消Photoshop输入字体带有锯齿
- echarts折线图鼠标悬浮竖线_echarts y轴,显示数据,但不显示竖线