片段和父母活动生命周期在一起

MGD*_*oid 7 android android-fragments android-activity

我正在关注这四个主题创建片段,处理片段生命周期,管理活动生命周期以及暂停和恢复活动.所以我对此有点怀疑.我的问题是

  1. 如果A Activity呼叫B Activity通过Intent而A没有呼叫finish()方法则A将处于Pause状态,如果B是Transparent或者SemiTransparent处于Stop状态,如果B是Opaque.我对吗?
  2. 如果A Activity包含FragmentF,那么如果A将进入Pause状态,则F将进入Pause状态,如果A将处于Stop状态,则F也将处于Stop状态.我对吗?
  3. 如果A呼叫B Activity 和B Transparent则A将处于Pause状态而F也将处于状态.如果B呼叫finish()那么A将会出现,Resume但F会发生什么?它会从暂停中恢复吗?如果是那么如何和什么步骤,因为我还没有看到任何直接的联系Fragment的生命周期,这表明onPause()onResume()直接作为活动可以做的.

    希望我能问我想要什么.对不起我的坏Englsh.

Hei*_*sch 3

  1. 如果 B 是半透明的或部分可见(据我所知),您不能确定只有 onPause 才会在 A 上被调用:

    已暂停

    另一个活动位于前台并具有焦点,但此活动仍然可见。也就是说,另一个 Activity 在该 Activity 之上可见,并且该 Activity 部分透明或不覆盖整个屏幕。暂停的活动完全处于活动状态(活动对象保留在内存中,它维护所有状态和成员信息,并保持附加到窗口管理器),但在内存极低的情况下可能会被系统杀死。

  2. 是的你是对的:

    片段所在的活动的生命周期直接影响片段的生命周期,因此活动的每个生命周期回调都会导致每个片段的类似回调。例如,当activity接收到onPause()时,activity中的每个fragment都会接收到onPause()。

    然而,反之则不然,这意味着如果片段接收到 onStop,则不能保证 Activity 的 onStop 将被调用。

  3. 我不太确定你最后一句话的意思或你如何测试这一点。根据片段文档:

    公共无效 onResume ()

    当片段对用户可见并且正在主动运行时调用。这通常与包含 Activity 生命周期的 Activity.onResume 相关

    它说一般是因为这取决于活动如何处理片段。