我不确定为什么会发生这种情况,但是当我使用Android工作室并单击红色x来终止我的应用程序时,它会将我的应用程序重新启动到主要活动。我注意到只有当我从主要活动进展到另一个活动时才会发生。
例如,如果我在查看“活动A”屏幕时尝试终止该进程,则该进程会在没有重新启动的情况下被杀死,但如果我在查看活动B时从“活动”按钮上按下该进程它将重启该过程。
出现这种情况的原因是什么?
答案 0 :(得分:2)
我发现,"终止申请"实现为System.exit(1)
。
看起来像Androids'轻柔地实现exit(int)
函数以保存活动堆栈。
我认为,这是因为"终止申请"当设备内存不足时,需要调试应用程序重新启动。所以它在这样的顺序中非常有用:
当应用程序未被隐藏时,它的行为是无法想象的。这是由于exit
的实施。它保存了部分堆栈,但终止了可见活动,然后重新启动应用程序以恢复堆栈。