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结束进程的几种方法相关推荐

  1. win10taskkill强行结束进程_Win10程序卡死怎么办? Win10强制结束进程的两种方法

    Windows 10系统中,经常遇到某一进程卡死.停止运行的现象,处理此问题的方法可以有:注销一次系统:结束此系统进程. 结束系统进程的方法可以在任务管理器中进行,也可以在管理员命令提示符窗口中使用T ...

  2. 浅谈驱动中强制结束进程的3种方法

    一个应用程序想要结束另一个进程所要做的事:首先获得目标的进程ID,接着利用OpenProcess获取进程句柄(确保足够权限),最后将句柄传给TerminateProcess了结那个进程. OpenPr ...

  3. _Linux结束进程到底有多少种方法?

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习. 1. 前言 我们经常在Linux里使用kill命令来结束某后台进 ...

  4. linux QT 结束当前进程_Linux结束进程到底有多少种方法?

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习. 1. 前言 我们经常在Linux里使用kill命令来结束某后台进 ...

  5. android 实现毫秒定时器,Android实现定时器的五种方法实例详解

    一.Timer Timer是Android直接启动定时器的类,TimerTask是一个子线程,方便处理一些比较复杂耗时的功能逻辑,经常与handler结合使用. 跟handler自身实现的定时器相比, ...

  6. powershell 结束进程的四种写法

    powershell 结束进程的四种写法 简单记录一下powershell中结束进程的四种写法: #1.纯cmdlet命令 Get-Process -Name notepad | Stop-Proce ...

  7. Android启动服务的两种方法

    Android启动服务的两种方法 第一种方法 第二种方法 Android 5.0开始,只能使用显式Intent启动服务.其中,启动服务有2种方式,第一种是直接指定想要启动的服务:第二种是使用AIDL的 ...

  8. Linux中创建Daemon进程的三种方法

    Linux中创建Daemon进程的三种方法 什么是daemon进程? Unix/Linux中的daemon进程类似于Windows中的后台服务进程,一直在后台运行运行,例如http服务进程nginx, ...

  9. LINUX查看进程的4种方法(小结)

    进程是在 CPU 及内存中运行的程序代码,而每个进程可以创建一个或多个进程(父子进程). 查看进程方法 第一种: ps aux ps命令用于报告当前系统的进程状态.可以搭配kill指令随时中断.删除不 ...

最新文章

  1. html元素li移动动态效果
  2. Duilib嵌入CEF出现窗口显示不正常
  3. iptables 开放远程_JavaWeb项目的部署以及远程调试
  4. linux socket 编程(C语言)
  5. 因为此网站使用了 hsts_长春定制小程序服务,网站设计市场价格
  6. 诗与远方:无题(二十三)
  7. IoU,ROI 和 ROC,AUC区分
  8. 中移4G模块-ML302-OpenCpu开发-51单片机串口转I2C
  9. day3-python之函数初识(二)
  10. java lang ClassNotFoundException org apache jsp index jsp解决
  11. java web 网络安全_Java Web中的入侵检测及简单实现
  12. 记DeeCamp 2019夏面试
  13. Spring Boot(一)之入门篇
  14. 如何在WORD中输入方框,并且在里面打勾?
  15. Design Pattern: Visitor and Acyclic Visitor and their differences
  16. iphone文件连接smb服务器,实用!三种iPhone与Windows电脑互传文件操作技巧,建议收藏...
  17. 计算机应用基础win,计算机应用基础(Win 7+Office 2010)
  18. 淘宝客 WebView打开淘宝链接失败的解决方法
  19. C语言----- 4/π=1-1/3+1/5-1/7+...,编程计算π的近似值,直到最后一项的值小于10-4次方为止 //输出π的值,并统计累加的项数
  20. 进制转换(二进制,八进制,十进制)

热门文章

  1. python中使用ffmpeg合并音频与视频_ffmpeg 在windows 下的安装和使用(python, 合并音频和视频)...
  2. Activiti6--入门学习--错误边界事件
  3. 统计英文字数c语言,用C语言作纯英文字数统计
  4. 牛客网SQL实战二刷 | Day10
  5. python中遇到报错OSError: [Errno 22] Invalid argument的解决方法
  6. Word 去除脚注分隔线前的空格
  7. vue-cli中使用高德地图及其插件
  8. 联想320s笔记本能装服务器系统,联想ideapad 320S-15笔记本怎么安装win7系统
  9. Spring AOP 自定义注解记录操作日志
  10. 复利计算5.0 结对