Android结束进程的几种方法
Android 结束进程的几种方法
在开发过程中,遇到了测试的说关闭应用的时候出现了闪一下黑屏的情况,后面发现闪黑屏和杀掉进程有关系,这里就简单总结一下结束进程的几种方法,以及闪黑屏是如何解决的,防止以后我又忘了:)。
一 结束自己的进程
(1)android.os.Process.killProcess(android.os.Process.myPid());
android.os.Process.killProcess(android.os.Process.myPid());
因为这个应用的需求是自己的工作完成后需要杀掉自己的进程,所以代码里面用了这个方法,也就是因为这句代码,出现了应用结束之后闪黑屏,这个有两个解决方法,一个是在activity的onDestroy里结束自己的进程,二是可以调用activity.finish()结束之后,使用延迟结束进程。更推荐第一种方法,第二种方法的延迟时间如果非常非常短,几十毫秒的话是解决不了闪黑屏的问题的。
使用这个方法只能结束自己的进程,并且程序运行到这个方法就会直接结束进程,不会走到activity的onPause(),onStop()和onDestroy()生命周期,我想应该闪黑屏和不走这些生命周期有关系。
二 结束别的进程
方法一
需要在AndroidManifest.xml添加以下权限:
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
代码:
ActivityManager manager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE)
manager.killBackgroundProcess(包名)
方法二
需要在AndroidManifest.xml添加以下权限:
<uses-permission android:name="android.permission.FORCE_STOP_PACKAGES" />
代码:
try{ActivityManager manager= (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);Method method = manager.getClass().getMethod("forceStopPackage", String.class);method.setAccessible(true);method.invoke(manager, 包名);
}catch(Exception e){e.printStackTrace();
}
另外一个应用是通过其他应用杀死进程而出现的闪黑屏问题,这里后面改用了应用在关闭另一个应用时采用发广播的方式,当被关闭的应用接收到广播后结束掉自己。
以上,就是我的第一篇博客。
Android结束进程的几种方法相关推荐
- win10taskkill强行结束进程_Win10程序卡死怎么办? Win10强制结束进程的两种方法
Windows 10系统中,经常遇到某一进程卡死.停止运行的现象,处理此问题的方法可以有:注销一次系统:结束此系统进程. 结束系统进程的方法可以在任务管理器中进行,也可以在管理员命令提示符窗口中使用T ...
- 浅谈驱动中强制结束进程的3种方法
一个应用程序想要结束另一个进程所要做的事:首先获得目标的进程ID,接着利用OpenProcess获取进程句柄(确保足够权限),最后将句柄传给TerminateProcess了结那个进程. OpenPr ...
- _Linux结束进程到底有多少种方法?
请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习. 1. 前言 我们经常在Linux里使用kill命令来结束某后台进 ...
- linux QT 结束当前进程_Linux结束进程到底有多少种方法?
请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习. 1. 前言 我们经常在Linux里使用kill命令来结束某后台进 ...
- android 实现毫秒定时器,Android实现定时器的五种方法实例详解
一.Timer Timer是Android直接启动定时器的类,TimerTask是一个子线程,方便处理一些比较复杂耗时的功能逻辑,经常与handler结合使用. 跟handler自身实现的定时器相比, ...
- powershell 结束进程的四种写法
powershell 结束进程的四种写法 简单记录一下powershell中结束进程的四种写法: #1.纯cmdlet命令 Get-Process -Name notepad | Stop-Proce ...
- Android启动服务的两种方法
Android启动服务的两种方法 第一种方法 第二种方法 Android 5.0开始,只能使用显式Intent启动服务.其中,启动服务有2种方式,第一种是直接指定想要启动的服务:第二种是使用AIDL的 ...
- Linux中创建Daemon进程的三种方法
Linux中创建Daemon进程的三种方法 什么是daemon进程? Unix/Linux中的daemon进程类似于Windows中的后台服务进程,一直在后台运行运行,例如http服务进程nginx, ...
- LINUX查看进程的4种方法(小结)
进程是在 CPU 及内存中运行的程序代码,而每个进程可以创建一个或多个进程(父子进程). 查看进程方法 第一种: ps aux ps命令用于报告当前系统的进程状态.可以搭配kill指令随时中断.删除不 ...
最新文章
- html元素li移动动态效果
- Duilib嵌入CEF出现窗口显示不正常
- iptables 开放远程_JavaWeb项目的部署以及远程调试
- linux socket 编程(C语言)
- 因为此网站使用了 hsts_长春定制小程序服务,网站设计市场价格
- 诗与远方:无题(二十三)
- IoU,ROI 和 ROC,AUC区分
- 中移4G模块-ML302-OpenCpu开发-51单片机串口转I2C
- day3-python之函数初识(二)
- java lang ClassNotFoundException org apache jsp index jsp解决
- java web 网络安全_Java Web中的入侵检测及简单实现
- 记DeeCamp 2019夏面试
- Spring Boot(一)之入门篇
- 如何在WORD中输入方框,并且在里面打勾?
- Design Pattern: Visitor and Acyclic Visitor and their differences
- iphone文件连接smb服务器,实用!三种iPhone与Windows电脑互传文件操作技巧,建议收藏...
- 计算机应用基础win,计算机应用基础(Win 7+Office 2010)
- 淘宝客 WebView打开淘宝链接失败的解决方法
- C语言----- 4/π=1-1/3+1/5-1/7+...,编程计算π的近似值,直到最后一项的值小于10-4次方为止 //输出π的值,并统计累加的项数
- 进制转换(二进制,八进制,十进制)
热门文章
- python中使用ffmpeg合并音频与视频_ffmpeg 在windows 下的安装和使用(python, 合并音频和视频)...
- Activiti6--入门学习--错误边界事件
- 统计英文字数c语言,用C语言作纯英文字数统计
- 牛客网SQL实战二刷 | Day10
- python中遇到报错OSError: [Errno 22] Invalid argument的解决方法
- Word 去除脚注分隔线前的空格
- vue-cli中使用高德地图及其插件
- 联想320s笔记本能装服务器系统,联想ideapad 320S-15笔记本怎么安装win7系统
- Spring AOP 自定义注解记录操作日志
- 复利计算5.0 结对