【问题标题】:Does onNewIntent or onActivityResult get called if the activity is recreated?如果重新创建活动,是否会调用 onNewIntent 或 onActivityResult?
【发布时间】:2019-10-30 04:03:11
【问题描述】:

我的活动 A 在另一个应用程序中启动了一个活动 B,用户可以在该活动上花费相当长的时间。在此期间,Android 可能会破坏我的活动 A(也许是为了回收内存),我想知道:

  1. 如果A以startActivityForResult开头B,B调用setResult返回A,如果A需要重新创建,是否会在A的onCreate之后调用onActivityResult
  2. 如果 A 以 startActivity 开头 B,并且 B 通过使用标志 FLAG_ACTIVITY_SINGLE_TOP 调用 startActivity 返回 A,如果 A 还活着,则应调用 onNewIntent。但是如果A被销毁,onNewIntent会在onCreate之后被调用吗?

我已阅读有关 SO 上的 android 活动生命周期帖子,但对此不确定。对此进行实验并不容易。

【问题讨论】:

  • 在您的设备上,在“设置”>“系统”>“开发人员选项”下,打开“不保留活动”选项。这将在您离开活动后立即终止活动,模拟系统将其杀死以回收内存。然后您可以进行实验,看看会发生什么。

标签: android android-activity activity-lifecycle


【解决方案1】:

1) 会的,但是生命周期调用的顺序可能与您预期的有所不同。为这种可能性做好准备。

【讨论】:

    猜你喜欢
    • 2019-04-26
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 2019-11-23
    • 2012-01-23
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多