相关疑难解决方法(0)

永远不会调用Fragment的onSaveInstanceState()

我正在尝试将数据保存在Fragment的onSaveInstanceState()中,但从不调用该方法.

有人可以帮忙吗?

public class MyFragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        ScrollView content = (ScrollView) inflater.inflate(R.layout.content, container, false);
        // More stuff
        return content;
    }

    @Override
    public void onSaveInstanceState(Bundle icicle) {
        // NEVER CALLED
        super.onSaveInstanceState(icicle);
        //More stuff
    }

}
Run Code Online (Sandbox Code Playgroud)

android android-fragments

64
推荐指数
4
解决办法
5万
查看次数

Fragment中的内存泄漏

我正在使用LeakCanary库来监控我的应用程序中的内存泄漏.我收到了这个内存泄漏,不知道如何追踪导致它的原因.

05-09 09:32:14.731  28497-31220/? D/LeakCanary? In com.etiennelawlor.minesweeper:0.0.21:21.
    * com.etiennelawlor.minesweeper.fragments.MinesweeperFragment has leaked:
    * GC ROOT com.google.android.gms.games.internal.GamesClientImpl$PopupLocationInfoBinderCallbacks.zzahO
    * references com.google.android.gms.games.internal.PopupManager$PopupManagerHCMR1.zzajo
    * references com.google.android.gms.games.internal.GamesClientImpl.mContext
    * references com.etiennelawlor.minesweeper.activities.MinesweeperActivity.mFragments
    * references android.app.FragmentManagerImpl.mAdded
    * references java.util.ArrayList.array
    * references array java.lang.Object[].[0]
    * leaks com.etiennelawlor.minesweeper.fragments.MinesweeperFragment instance
    * Reference Key: 2f367393-6dfd-4797-8d85-7ac52c431d07
    * Device: LGE google Nexus 5 hammerhead
    * Android Version: 5.1 API: 22
    * Durations: watch=5015ms, gc=141ms, heap dump=1978ms, analysis=23484ms
Run Code Online (Sandbox Code Playgroud)

这是我的回购:https: //github.com/lawloretienne/Minesweeper

这似乎是一个难以捉摸的.我建立了Interface一个Fragment和a之间的沟通Activity.我设置了这个mCoordinator Interface变量onAttach()然后我意识到我没有把它归零 …

android memory-leaks leakcanary

18
推荐指数
2
解决办法
4676
查看次数