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();
}

另外一个应用是通过其他应用杀死进程而出现的闪黑屏问题,这里后面改用了应用在关闭另一个应用时采用发广播的方式,当被关闭的应用接收到广播后结束掉自己。

以上,就是我的第一篇博客。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值