我有一个应用程序(appA),它可以扩大布局(layout1)并让用户做事,然后再用另一个布局(layout2)替换该布局,然后用户通过startActivityForResult从中启动另一个应用程序(appB)

appB是基于Unity3D的怪兽,它会限制设备的内存/处理能力,因此当appA处于后台时,Android经常会对其进行清理。

当appB完成时,Android会为我重新创建appA,但这会造成混淆。

即:它调用onCreate,但在appA启动时仍显示layout2,即在进入appB之前对其进行了放大的布局。

这令人困惑,因为onCreate重新初始化了我所有的变量,并且似乎从头开始,但是以某种方式保留了仍显示layout2的状态。

这与我在启动到appB时在appA上调用finish(),然后让appB从头开始appA时会(并且确实)先膨胀layout1时获得的行为截然不同。

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

我想知道是否有某种手动方式(通过Android Studio或代码)引发Android对appA的清理,而我在appB中能够查看并测试返回appA后的副作用被Android恢复了活力。

最佳答案

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


就在这里。

您应该通过命令行工具或IDE终止处于后台的appA进程。

在不重复其他开发人员研究的情况下,我将您引到How to simulate Android killing my process

09-08 02:35