Android生命周期反转

问题描述

我遇到了一些令人困惑的情况,所以我想问一个背后的原则。

场景 :我有两个活动A和B。 A是启动程序活动,A是启动B活动。 我想完成B活动,然后重新开始B。 我称之为困惑的情况从这里开始。 正常情况是我认为的

  1. 暂停时
  2. A-onStart
  3. A-onResume
  4. B-onStop
  5. 销毁 ->开始B
  6. 暂停时
  7. B-onCreate
  8. B-onStart
  9. B-onResume
  10. A-onStop

但是当我尽可能快地(用手指)模拟这种情况时,该顺序不会保留。 像这样

  1. 暂停时
  2. A-onStart
  3. A-onResume
  4. 暂停时
  5. B-onCreate
  6. B-onStart
  7. B-onResume
  8. A-onStop
  9. B-onStop
  10. B-on-Destroy

我知道,如果活动A启动活动B,则以下顺序是固定的(A-onPause-> B-onCreate-> B-onStart-> B-onResume)。 除了恢复和暂停之外,其他生命周期回调还不确定吗?

我可以在低规格的android设备上模拟它,但不能在普通的中高规格的设备上模拟。

所以一个问题是 :当完成并重新打开活动时,可以在onResume回调之后执行onStop和on Destroy吗?

在此先感谢,并感谢您的英语不好:)

解决方法

const dataTable = new DataTable(); dataTable.has(field.fieldName); onStop()基本上是“清理”操作,可以在onDestroy()暂停后随时 执行。您绝对不能在任何特定时间依赖这些调用。