[Android] Android杀死进程方法

本文介绍了Android中四种不同的进程管理方法,包括使用android.os.Process.killProcess()和System.exit()来结束当前进程,以及通过ActivityManager来重启或杀死背景进程。文章还强调了不同方法的适用场景及其潜在风险。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. android.os.Process.killProcess(pid)

  只能终止本程序的进程,无法终止其它的

  具体代码如下:

  Process.killProcess(Process.myPid());
Process.killProcess(Process.myPid());

  2. System.exit(int code)

  例如: System.exit(0);

  该方法只能用于结束当前进程自身,在程序遇到异常,无法正常执行时,可以 通过这个方法强制退出。 

  需要注意的是: android.os.Process.killProcess(pid) 和 System.exit(int code)会导致进程非正常退出,进程退出时不会去执行Activity的onPause、onStop和onDestroy方法,那么进程很有可能错过了保存数据的机会。因此,这两个方法最好使用在出现异常的时候!大家需要注意其使用方法。

     3. Android 结束进程,关闭程序的方法 即采用下面这个类

  使用这个类的具体源代码

final ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);   
am.restartPackage(getPackageName());

   不要忘记了在配置文件中设置权限:

<uses-permission android:name="android.permission.RESTART_PACKAGES"></uses-permission>

  4. 在android2.2版本之后则不能再使用restartPackage()方法,而应该使用killBackgroundProcesses()方法

  manager.killBackgroundProcesses(getPackageName());

  使用示例代码如下:

ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);   
manager.killBackgroundProcesses(getPackageName());

//需要在xml中加入权限声明    

<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>  


注意:第一种和第一种只能结束自身进程,无法结束其它进程;第三种和第四种只能结束其它进程,不能结束自身进程;


转载于:https://my.oschina.net/u/242041/blog/206709

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值