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);是能够的。

2014.7.2更:

今天又看到有人说System.exit(0);是比較好的方法,他使程序正常退出。

而android.os.Process.killProcess(android.os.Process.myPid());则是强制垃圾回收。我类个去。


posted on 2017-04-24 14:28  ljbguanli  阅读(157)  评论(0编辑  收藏  举报