APP崩溃后重新打开程序,解决Fragment 重叠问题

原理

当前APP崩溃再次启动或者从后台再次回到这个app的时候,通过onCreate中的参数savedInstanceState恢复了之前的fragment。此时的FragmentTransaction中的相当于又再次add了fragment进去的,之前保存的fragment也还在。hide()和show()方法对之前保存的fragment已经失效了。所以出现了重叠的现象。

解决方式

直接在包含Fragment的Activity中复写onSaveInstanceState()方法,使其空实现

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        //super.onSaveInstanceState(outState);
    }

当然最好是在BaseActivity中来实现,以免在每个Activity都写这样的代码

你可能感兴趣的:(APP崩溃后重新打开程序,解决Fragment 重叠问题)