问题原因:
在设置中修改显示大小,APP需要重新刷新界面,app是作为一种异常走的onDestroy()方法,并不是正常的按返回键进行的退出执行的onDestroy(),这个时候系统会自动在onSaveInstanceState()方法里面临时性的保存之前的界面状态或者变量信息,方便在onCreate()的时候,从bundle里面直接取出来使用。但是毕竟是异常的状态,有些实体的信息或者fragment堆栈的状态恢复的时候就有可能错乱,导致显示效果出错或者crash。
解决办法:复写onSaveInstanceState()方法,去掉其中的保存super.onSaveInstanceState(savedInstanceState);代码,防止恢复出错。
方法一:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
}
方法二:如果数据必须保存有用:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
//状态 判断
if (savedInstanceState != null) {
Log.d("HELLO&