在一些 低性能的手机上 应用登录成功后 跳出 升级提示框,我用dialogFragment 做的,这个时候如果瞬间切到其他页面,比如自己的手势密码或者 桌面,此时之前的主页面被系统回收了,那么就会报上面的错误,DialogFragment 展示 的时候源码如下:
public void show(FragmentManager manager, String tag) {
this.mDismissed = false;
this.mShownByMe = true;
FragmentTransaction ft = manager.beginTransaction();
ft.add(this, tag);
ft.commit();
}
commit 提交 此时行不通,修改如下:
final FragmentTransaction fragmentTransaction = fragmentActivity.getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(dialog, dialog.getClass().getCanonicalName());
fragmentTransaction.commitAllowingStateLoss();
这个时候就不会再报上述错误了。