很多人都知道杀死进程的方法,但是可能不是很清楚其中的区别,这里着重讲一下他们的区别
我们知道android中一个进程开辟一个虚拟机,android系统允许我们杀死自己的进程也允许我们杀死别人的进程。其中有三种方法杀死进程
杀死自己的进程,当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中三种不同的进程杀灭方法及其应用场景:Process.killProcess()用于自杀式操作;System.exit(0)同样实现进程自我终止;ActivityManager.killBackgroundProcesses()则可以终结指定包名的应用程序。同时指出这些方法并不能阻止应用服务的重启。
4254

被折叠的 条评论
为什么被折叠?



