【发布时间】:2019-10-30 04:03:11
【问题描述】:
我的活动 A 在另一个应用程序中启动了一个活动 B,用户可以在该活动上花费相当长的时间。在此期间,Android 可能会破坏我的活动 A(也许是为了回收内存),我想知道:
- 如果A以
startActivityForResult开头B,B调用setResult返回A,如果A需要重新创建,是否会在A的onCreate之后调用onActivityResult? - 如果 A 以
startActivity开头 B,并且 B 通过使用标志FLAG_ACTIVITY_SINGLE_TOP调用startActivity返回 A,如果 A 还活着,则应调用onNewIntent。但是如果A被销毁,onNewIntent会在onCreate之后被调用吗?
我已阅读有关 SO 上的 android 活动生命周期帖子,但对此不确定。对此进行实验并不容易。
【问题讨论】:
-
在您的设备上,在“设置”>“系统”>“开发人员选项”下,打开“不保留活动”选项。这将在您离开活动后立即终止活动,模拟系统将其杀死以回收内存。然后您可以进行实验,看看会发生什么。
标签: android android-activity activity-lifecycle