android 封闭应用

android 关闭应用

我之前一直采用的是System.exit(0);

今天看到有人说这个方法不太好,这是J2SE里的方法,他主要是通过终止正在运行的JAVA虚拟机,导致程序终止。

推荐以下方法:

1.杀死本进程:

android.os.Process.killProcess(android.os.Process.myPid());

2.强制关闭与该包有关的一切活动(杀死其他进程):

ActivityManager manager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
		manager.killBackgroundProcesses("包名");

因为杀死别的进程,所以我们需要加入权限:

<uses-permission android:name="android.permission.RESTART_PACKAGES"/>

至于下面这两种方式杀死进程之后还能不能收到service,比如推送之类。我不得而知。我原来使用的System.exit(0);是可以的。