大多数App主页底部都会有几个tab页面,用Activity+Fragment或者Activity+Vierpager+Fragment来管理Tab页面(由于viewpager的加载机制所以不会出现这个问题),当程序长期在后台由于系统资源不足就把MainActivity回收了或者从MainActivity点进去的activity报错了点击back回到MainActivity fragment也会混乱,主要是由于fragment的状态还保存着,但是add()和hide() show()方法已经失效了,分析好原因,我们就可以解决了。
在MainActivity被销毁或者在后台等情况下会调用onSaveInstanceState方法来保存状态,所以做个标记outState.putBoolean("isMainActivityDestroy",true);应为被销毁会重新调用onCreate方法,所以你if(savedInstanceState!=null&&savedInstanceState.getBoolean("isMainActivityDestroy",false))满足这个条件就去移除之前fragment状态,重新add fragment。看代码你会更了解;
protected void onCre