美文网首页Android知识程序员今日看点
如何阻止frament恢复销毁前状态

如何阻止frament恢复销毁前状态

作者: 微行丶简 | 来源:发表于2016-09-27 12:11 被阅读384次

App开发时,我们总是遇到各种各样的需求。前些日子我就遇到一个不常见的需求:我们需要当Activity恢复时,不需要恢复Fragment的状态
我们知道,在内存不足的时候,系统会回收优先级较低的Activity,并在销毁前通过onSaveInstanceState()方法保存当前状态。当然,fragment的状态也在该方法中被保存,代码截图如下。

Activity_onSaveInstaceState.png

接下来,我们再看一下在activity的onCreat中是如何恢复fragment状态的。

Activity_onCreat.png

现在,我们已经清楚了Frament状态的保存和恢复流程。那么接下来就简单了。我们只需要在fragment恢复状态之前,删除TAG为android:support:framents的数据就可以了。

protected void onCreate(Bundle savedInstanceState) {
        // 删除frament状态
        if (savedInstanceState != null) {
            savedInstanceState.remove(FRAGMENTS_TAG);
        }

        super.onCreate(savedInstanceState);
        
        // 初始化逻辑
}

<h1>注意</h1>

该文例中的frament是使用的android.support.v4包中的,所以上文中的TAG为android:support:framents

如果使用原生frament的话,上文中的TAG请替换为android:framents

相关文章

  • 如何阻止frament恢复销毁前状态

    App开发时,我们总是遇到各种各样的需求。前些日子我就遇到一个不常见的需求:我们需要当Activity恢复时,不需...

  • Android的状态保存和恢复

    Activity的状态保存和恢复 Activity的状态什么时候需要保存和恢复 Activity的销毁一般分为两种...

  • 创建和销毁对象

    学习目的: 何时以及如何创建对象 何时以及如何避免创建对象 如何确保对象适时销毁 如何管理对象销毁前必须进行的各种...

  • 2019-10-10java复习日记

    1.运行时内存即是堆内存,对象在内存中状态有三种:活跃状态,可恢复状态,待销毁状态。 活跃状态:有引用变量引用对象...

  • 第2章 创建和销毁对象

    何时以及如何创建对象,何时以及如何避免创建对象如何确保适时销毁,如何管理对象销毁前必要的清理 第1条 考虑用静态工...

  • Jetpack学习10-保存UI状态

    [TOC] 保存UI状态 ​ 在系统启动的activity或应用程序销毁过程中及时保留和恢复activity的...

  • 2--NSTimer

    大纲: 创建计时器 暂停 恢复 销毁 开发小技巧 一、创建计时器 二、暂停 三、恢复 四、销毁 五、开发小技巧

  • Activity小结02 -- 值保存、状态恢复

    Activity小结02 -- 值保存、状态恢复 1.当activity不小心被销毁时保存相关值,重新创建时拿到值...

  • 优雅地创建和销毁对象

    创建和销毁对象概述 何时以及如何创建对象 何时以及如何避免创建对象 如何确保对象适时地销毁 如何管理对象销毁之前必...

  • ViewModel原理分析

    2020年最后一篇,哈哈。 本篇文章主要分析ViewModel在Activity从销毁到重建时是如何保存并恢复的。...

网友评论

    本文标题:如何阻止frament恢复销毁前状态

    本文链接:https://www.haomeiwen.com/subject/mkmcyttx.html