【问题标题】:Android - Do activity realases fragment references when finished?Android - 活动完成后是否会重新生成片段引用?
【发布时间】:2020-05-11 03:10:53
【问题描述】:

根据 Android 开发者网站,将 Activity 与其片段通信的正确方法是通过侦听器。

https://developer.android.com/training/basics/fragments/communicating

我的问题是,这个片段持有对活动的引用......当活动被销毁时,片段管理器会释放片段,因此片段将被收集,所以活动?或者他们是否拥有需要在 Fragment 的 onDestroy 中也取消的强引用?

【问题讨论】:

    标签: android android-fragments memory-management android-lifecycle


    【解决方案1】:

    Fragments Lifecycle 绑定到 Activity 之一。将活动想象为宇宙,将碎片想象为行星/恒星。如果宇宙消亡,其中的恒星/行星也会消亡。同样,如果 Activity 被销毁,那么它的所有 Fragment 也会被销毁。

    official documentation(你一定要看看)解释得很好:

    片段必须始终托管在活动中,并且片段的 生命周期直接受宿主活动生命周期的影响。为了 例如,当活动暂停时,其中的所有片段也是如此,并且 当活动被破坏时,所有片段也被破坏。然而,虽然 一个活动正在运行(它处于恢复的生命周期状态),你可以 独立操作每个片段,例如添加或删除它们。

    【讨论】:

      【解决方案2】:

      当包含片段的活动被销毁时,片段也会自动被销毁。签出this

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多