在Application类

时间:2017-07-27 16:14:00

标签: java android performance

我想在从前台进入后台时杀死我的应用。 我在Application类中实现了onTrimMemory方法,这个方法被成功调用。我尝试了System.exit(0),但它重新启动app而不是从后台杀死它。

2 个答案:

答案 0 :(得分:1)

而不是System.exit(0);,请尝试使用

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

它基本上做同样的事情,但是更“Android”的做事方式。

编辑:根据您的评论请求,将这两行添加到AndroidManifest文件中:

android:autoRemoveFromRecents="true"
android:noHistory="true"

将它们放入主<activity>。然后,当用户离开应用程序时,它将不在历史/最近。

答案 1 :(得分:1)

当我需要关闭应用程序时,我使用它:

Runtime.getRuntime().exit(0);
  

通过启动其关闭序列来终止当前运行的Java虚拟机。此方法永远不会正常返回。该参数用作状态代码;按照惯例,非零状态代码表示异常终止。

https://developer.android.com/reference/java/lang/Runtime.html#exit(int)