android强制结束进程_Android kill 进程的方法

一、结束一个活动Activity

要主动的结束一个活动Activity,(先强调一下,是结束一个活动,而不是进程)是finish方法

二、强制结束当前的进程

强行结束当前进程有两个方法

1、killProcess(int pid)

Kill the process with the given PID. Note that, though this API allows us to request to kill any process based on its PID, the kernel will still impose standard restrictions on which PIDs you are actually able to kill. Typically this means only the process running the caller's packages/application and any additional processes created by that app; packages sharing a common UID will also be able to kill each other's processes.

google翻译:

杀死进程,给定的PID。请注意,虽然这个API允许我们要求任何进程,根据PID,内核仍然会征收标准的PID的限制,你实际上能够杀死。通常,这意味着只有呼叫者的包/应用程 序,该应用程序所创建的任何额外的流程运行的进程,共享一个共同的UID的包也将能够杀死对方的过程。

2、System.exit(int code)

该方法只能用于结束当前进程自身

三、结束另一个进程

void killBackgroundProcesses(String packageName)

四、退出到主屏幕(记得是对当前进程的处理)

当按下返回键时,就返回到主屏幕,并带有参数FLAG_ACTIVITY_CLEAR_TOP ,会清理掉当前的活动。

1、android.os.Process.killProcess

Process.killProcess 最终是调用 linux API kill() 发送 SIGKILL 信号。了解 Linux 编程的都知道,进行收到这个信息都会立即结束进程,Android 下不同的是 ActivityManager 一直监听者进程状态。如果发现进程被kill,会立即重启进行,并重启之前状态对应的Activity、Service、ContentProvider等。这就是为什么我们调用Process.killProcess后,发现程序是重启了,而不是被kill了。

2、killBackgroundProcesses (杀后台进程)

view plain

ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);

manager.killBackgroundProcesses(getPackageName());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值