android中完全退出应用程序的方法

时间:2022-04-13 20:37:02

我们都知道finish()这个方法,但是要知道的是finish的执行只是将当前Activity推向后台,然后回到存放在Activity栈里的上一个Activity,其所占用的资源并没有被释放,更不是退出了应用程序。其实android的机制决定了用户是无法完全退出应用程序,当一个在后台的application长时间没有被使用或者资源不足的时候,android自身会将后台的application关闭。

android中退出应用程序的方法:

1. 通过pid
android.os.Process.killProcess(android.os.Process.myPid()); //杀死当前进程
但这种方法退出应用,并不能退出Service,Notifications等后台进程。


2.通过ActivityManager
ActivityManager manager = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE); //获取应用程序管理器 
manager.killBackgroundProcesses(getPackageName()); //强制结束当前应用程序
这种方式退出应用,会结束本应用程序的一切活动,因为本方法会根据应用程序的包名杀死所有进程包括Activity,Service,Notifications等。