我正在关注这四个主题Creating a Fragment,Handling the Fragment Lifecycle,Managing the Activity Lifecycle和Pausing and Resuming an Activity。所以我对此有点怀疑。 我的问题是
Activity
通过Activity
致电B Intent
,但A不会调用finish()
方法,那么如果B为{{,则A将处于Pause
状态如果B为Transparent
,则1}}或SemiTransparent
以及Stop
状态。我是对的吗?Opaque
包含Activity
F,那么如果A将进入Fragment
状态,那么F将进入Pause
状态,如果A将进入Pause
状态}状态然后F也将处于Stop
状态。我是对的吗?Stop
且B为Activity
,则A将处于Transparent
状态,F也将处于Pause
状态。如果B调用finish()
,则A将进入Resume
状态,但F会发生什么?它会从暂停中恢复吗?如果是,那么步骤是什么以及步骤是什么,因为我在Fragment
生命周期中没有看到任何与onPause()
onResume()
直接相关的直接链接,因为活动可以做到。
希望我能问我想要什么。对不起我的坏Englsh。
答案 0 :(得分:3)
如果B是半透明的或部分可见的,我不能确定只会在A上调用onPause:
暂停
另一个活动是在前台并且有焦点,但是这个 一个仍然可见。也就是说,另一项活动可见 这个和那个活动部分透明或不涵盖 整个屏幕。暂停的活动完全存在(活动 对象保留在内存中,它维护所有状态和成员 信息,并保持附加到窗口管理器),但可以 在极低的内存情况下被系统杀死。
是的,你是对的:
片段直接生活的活动的生命周期 影响片段的生命周期,例如每个生命周期 对活动的回调导致每个回调的类似回调 分段。例如,当活动收到onPause()时,每个 活动中的片段接收onPause()。
然而,相反的情况并非如此,这意味着如果片段接收onStop,则不能保证将调用Activity的onStop。
我不太清楚你的上一句话是什么意思,或者你是如何测试的。根据片段文档:
public void onResume()
当片段对用户可见时调用 并积极运行。这通常与Activity.onResume相关联 包含Activity的生命周期
它通常是因为它取决于活动如何处理片段。
答案 1 :(得分:0)
如果A Activity通过Intent调用B Activity但是A不调用finish()方法,那么如果B是透明或半透明,则A将处于暂停状态,如果B是不透明,则处于停止状态。我是对的吗?
是的
如果A活动包含片段F,那么如果A将进入暂停状态,则F将进入暂停状态,如果A将处于停止状态,则F也将处于停止状态。我是对的吗?
是的正确
如果A呼叫B活动而B是透明,则A将处于暂停状态,F也将处于暂停状态。如果B调用finish()那么A将进入Resume状态,但F会发生什么?它会从暂停中恢复吗?如果是,那么步骤是什么以及步骤是什么因为我没有在Fragment生命周期中看到任何直接链接,它直接指示onPause()到onResume(),因为Activity可以做到。
您理解的是正确的,即使在这种情况下,片段也会像on活动一样从onPause移动到onResume状态。 但不幸的是,在开发人员android中没有太多关于此的文档。 这可能是因为他们希望避免复杂的图表,这会造成更多的混淆。