杀死进程

很多人都知道杀死进程的方法,但是可能不是很清楚其中的区别,这里着重讲一下他们的区别

我们知道android中一个进程开辟一个虚拟机,android系统允许我们杀死自己的进程也允许我们杀死别人的进程。其中有三种方法杀死进程


1.Process.killProcess(Process.myPid())
杀死自己的进程,当activity栈中有多个activity时,进程会马上恢复,只会finish掉栈顶的activity。所以若要实现退出程序的效果必须在当前app只有一个activity时。


2.System.exit(0)
和方法一相同,因为android系统是一个进程一个虚拟机


3.ActivityManager manager=(ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
manager.killBackgroundProcesses("packageName");
需要权限android.permission.KILL_BACKGROUND_PROCESSES
只能杀死别人的进程无法杀死自己的进程,当被杀死的程序有多个activity时,所以的activity都会被干掉。




以上杀死进程的方法都无法防止进程重建,比如当app有可恢复的服务时。

你可能感兴趣的:(android)