问题描述
我遇到了一些令人困惑的情况,所以我想问一个背后的原则。
场景 :我有两个活动A和B。 A是启动程序活动,A是启动B活动。 我想完成B活动,然后重新开始B。 我称之为困惑的情况从这里开始。 正常情况是我认为的
- 暂停时
- A-onStart
- A-onResume
- B-onStop
- 销毁 ->开始B
- 暂停时
- B-onCreate
- B-onStart
- B-onResume
- A-onStop
但是当我尽可能快地(用手指)模拟这种情况时,该顺序不会保留。 像这样
- 暂停时
- A-onStart
- A-onResume
- 暂停时
- B-onCreate
- B-onStart
- B-onResume
- A-onStop
- B-onStop
- 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()
暂停后随时 执行。您绝对不能在任何特定时间依赖这些调用。