您的位置:首页 > 移动开发 > Android开发

System.exit()和Process.killProcess(pid)在安卓中杀进程区别和 生命周期调用

2017-06-27 00:00 579 查看
摘要: android,杀进程

相同点

APP进程都会被直接杀掉

我们通过adb shell ps可以查看当前手机所有运行的进程状态,
在执行完这两种方式之后,APP进程都会消失。

生命周期都不会被调用

onPause()、onStop()和onDestory(),也包括onSaveInstanceState,这些生命周期方法都不会被调用。

不同点

影响范围不同

System.exit(0)只会影响当前的程序;
Process.killProcess(Process.myPid())会杀掉所有PID一样的进程,比如那些拥有相同UID的应用,统统都会被杀掉。

方式不一样

System.exit(0)是停止程序的虚拟机;
Process.killProcess(Process.myPid()) 是通过PID去杀死进程。

补充

System.exit(0)和System.exit(1)

看官方的方法注释,如下:

Use 0 to signal success to the calling process and 1 to signal failure.

0:代表成功的信号;
1:代表失败的信号,常用于捕获到异常执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android 杀进程