#2楼 @Sky63
大概明白你提到的、造成困扰的地方了。
D 和 C 是由 app1 启动,在 IDE 中可通过 app1 的视角观察到。同理,当 app2 的 B 唤起 D 时,你在回退 D 的时候能在 app2 和 app1 的视角中同时观察到 D 的销毁。而紧随其后再回退一次, 便能在 app1 中观察到 C 被销毁。再下一次才轮到 app2 中 B 被销毁。
#6楼 @三颗猫
是的,改的。detach attach 还要移除视图和重新渲染,是有一定几率会造成转场卡顿的。
在 fragment 绘制内容轻量的情况下,可直接使用 show hide。
在 fragment 绘制内容重量(例如使用毛玻璃特效)的情况下,可考虑开启一个新的 Activity,为单个 fragment 争取到独立的 window(绘制资源)。
Note 2019.12.30:
注意 如使用 lambda ,liveData 的 lambda 回调中不可为空,不然会出现 Cannot add the same observer with different lifecycles 的现象,
·
详见:https://stackoverflow.com/questions/47025233/android-lifecycle-library-cannot-add-the-same-observer-with-different-lifecycle