Android 有没有一种方法可以模拟我的应用程序被安卓系统杀死后返回?

Android 有没有一种方法可以模拟我的应用程序被安卓系统杀死后返回?,android,android-activity,activity-lifecycle,kill-process,android-memory,Android,Android Activity,Activity Lifecycle,Kill Process,Android Memory,我有一个应用程序(appA),它可以膨胀一个布局(布局1),让用户在用另一个布局(布局2)替换该布局之前进行操作,用户可以通过startActivityForResult appB是一个基于Unity3D的怪物,它对设备的内存/处理能力施加了限制,因此当appA在后台时,它经常被Android清理 当appB完成后,Android为我重新创建了appA,但这样做的方式令人困惑 即:它调用onCreate,但启动时appA仍显示layout2,即它在转到appB之前膨胀的布局 这是令人困惑的,因为

我有一个应用程序(appA),它可以膨胀一个布局(布局1),让用户在用另一个布局(布局2)替换该布局之前进行操作,用户可以通过
startActivityForResult

appB是一个基于Unity3D的怪物,它对设备的内存/处理能力施加了限制,因此当appA在后台时,它经常被Android清理

当appB完成后,Android为我重新创建了appA,但这样做的方式令人困惑

即:它调用onCreate,但启动时appA仍显示layout2,即它在转到appB之前膨胀的布局

这是令人困惑的,因为onCreate重新初始化了我所有的变量,似乎是从头开始的,但不知何故保留了仍然显示layout2的状态

这显然不同于我在appA上调用finish()时的行为,当时我启动appB,然后让appB从头开始启动appA,它会(并且确实)首先膨胀布局1

我的问题是,这种行为并不一致。很多时候,Android在不需要appA内存空间的情况下管理appB,调试这一点非常困难


我想知道是否有一些手动方式(通过Android Studio或代码)当我在appB的时候,为了能够看到并测试appA被安卓恢复生命后返回appA的副作用,引发安卓对appA的清理。

我发现最方便的方法实际上是创建一个带有一个活动的单独应用程序,并在
onResume()
中执行以下操作:

@Override
protected void onResume() {
    super.onResume();

    ActivityManager activityManager =
            (ActivityManager) getSystemService(ACTIVITY_SERVICE);

    activityManager.killBackgroundProcesses("your.app.id");
}
每当我需要模拟我的应用程序被Android杀死时,我只需切换到此应用程序并返回到我测试的应用程序

我想知道是否有一些手动方式

是的,有

您应该通过命令行工具或IDE在后台终止appA进程


没有重复其他开发人员的研究,我向您致意。

@onik-done:)@onik,谢谢!我一定会记住这一点。