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());则是强制垃圾回收。我类个去。