当内存满后,Activity有可能被回收,当Activity中有Fragment时,有可能会导致fragment生成多次,按多次回退键才能退出,经过多查阅,一般有一下几种解决方法:
1.重写Activity中的onSaveIntanceState方法,把super方法注释掉
@Override
protected void onSaveInstanceState(Bundle outState) {
// super.onSaveInstanceState(outState);
}
2.在生成Fragment的地方加上判断,如果存在Fragement的实例,就不再生成新的Fragment:
if(this.getSupportFragmentManage().findFragmentById(XXX) != null){
return; //或者不用return,把旧的实例用popBackStack()方法弹出栈
}
//重新生成Fragment