Android 调用ontrimmory()方法时如何重置/重新启动应用程序?

Android 调用ontrimmory()方法时如何重置/重新启动应用程序?,android,android-memory,android-background,android-os-handler,Android,Android Memory,Android Background,Android Os Handler,目前,我正在我的应用程序中使用ComponentCallbacks2.TRIM\u MEMORY\u COMPLETE和ComponentCallbacks2.TRIM\u MEMORY\u RUNNING\u CRITICAL处理onTrimMethod(int-level)。当我的应用程序在后台运行,同时我在玩游戏时,我可以很容易地通过低端设备获得这种回调 在这里,我将Runtime.getRuntime()放在exit(0)中仅在后台杀死应用程序,以便当用户点击应用程序(在后台运行)时,应

目前,我正在我的应用程序中使用
ComponentCallbacks2.TRIM\u MEMORY\u COMPLETE
ComponentCallbacks2.TRIM\u MEMORY\u RUNNING\u CRITICAL
处理
onTrimMethod(int-level)
。当我的应用程序在后台运行,同时我在玩游戏时,我可以很容易地通过低端设备获得这种回调

在这里,我将
Runtime.getRuntime()放在exit(0)中
仅在后台杀死应用程序,以便当用户点击应用程序(在后台运行)时,应用程序将从启动器活动重新启动。我不知道它是否会终止应用程序,但当我打开应用程序时,首先它会显示一个对话框,上面写着“不幸的是,应用程序已停止”,并且应用程序不会重新启动

如果我从这个方法启动活动,它将启动应用程序并将其带到前台,而无需任何用户交互

我也尝试了其他一些方法来杀死这个应用程序。它们是
System.exit(0)
android.os.Process.killProcess(android.os.Process.myPid())

那么,在
ontrimethod()
中编写什么,或者如何以其他方式处理,以便用户打开应用程序(从后台带到前台)时,它将从第一个活动开始?

您真的想这样做吗?非即时性更多的是从缓存中释放内存。这不是应用程序应该重新启动的信号。是的,我想重新启动应用程序。我已经清除了缓存,但这并没有阻止应用程序在将其带到前台时崩溃。所以,我的应用程序就像用户登录后,他/她就可以使用它,我会将会话和其他相关信息保存在内存中。所以,如果我清除缓存,我需要用户从登录屏幕开始。我想知道怎么做。我认为这不是一个好的解决办法。当然,OOM问题可能非常困难,但解决方案是消除“分析->检查代码”下的任何警告,并使用“运行->配置文件”查找问题。但该线程在“重启”应用程序方面有一些漏洞: