在 Android 中有没有一种方法可以模拟 destroyed/collected android.app.Application(对象),就像 "don't keep activities" 对活动所做的那样?

Is there a way in Android to simulate a destroyed/collected android.app.Application (Object) like "don't keep activities" does for Activities?

我看到的行为是:

如果您使用 "dont keep activities",activity 的内存将始终被破坏,并且每次都会使用 IntentsavedBundle 的数据从头开始重新创建activity 从后台返回。这有助于测试 android 生命周期问题。

但现实中还可能发生什么:如果应用程序长时间处于后台,android.app.Application 对象本身将 destroyed/collected 同时保留活动的堆栈信息。 Android 将尝试使用 IntentsavedBundle 中的数据重新创建 activity,但也会重新创建 android.app.Application 对象。

所以问题是:有没有办法模拟这种行为?

编辑:后来发现这也在这里回答: How to simulate Android killing my process

是的,有:

只需启动您的应用,导航到您要测试的 activity,然后按主页按钮(重要的应用需要在后台运行)。然后使用命令行:

adb shell am kill your.app.package.name

或在 Android 工作室中按 Terminate Application Android 监视器:

然后用例如启动器图标和 activity 将使用新的应用程序对象重新创建。