我有一个应用程序(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。