Android fragment ,在Activity崩溃的时候,fragment碎片就会重叠,这样处理,完美
在Activity使用fragment 中,有时候为了减少内存分配,采用hide和show的方法加载,这样能省很多内存,但是在碰见意外bug时候,fragment会重叠;
这样处理:
在Activity 的oncreate方法中,检查所有fragment状态,释放所有的fragment
private void resetAllFragment() { try { List<Fragment> fragments = getSupportFragmentManager().getFragments(); FragmentTransaction fragmentTransaction1 = getSupportFragmentManager().beginTransaction(); if (fragments != null && fragments.size() > 0) { for (int i = 0; i < fragments.size(); i++) { Fragment fragment = fragments.get(i); if (fragment != null && fragment.isAdded()) { fragmentTransaction1.remove(fragment); KLog.d("raft-setting-----------------"); } } fragmentTransaction1.commitAllowingStateLoss(); } } catch (Exception e) { } }
如果还不行,重写onsaveInstance方法
@Override public void onSaveInstanceState(@NonNull Bundle outState, @NonNull PersistableBundle outPersistentState) { }
这样就不会重叠了了