1出现的原因:开启Timer不断检测系统导航的状态,切换到后台,检测到系统导航在运行,直接弹出fragment,这个时候报了Can not perform this action after onSaveInstanceState
很多人说的解决办法就是用commit替换commitAllowingStateLoss,我的这种情况是不行的,出现这种情况的原因就是当fragment切换到后台后会调用onSaveInstanceState方法保存状态,保存状态后再去调用getFragmentManager().popBackStack();就会出现这种异常
2,解决的办法:用一个变量记住状态,在onResume()中去判断
@Override
public void onResume() {
super.onResume();
aMapNaviView.onResume();
if (systemNaviState){
getFragmentManager().popBackStack();
}
}