今天在做测试的时候,发现一个bug。当把Fragment的commit()方法放在onResum()时,锁屏之后再解屏,程序就会直接崩溃。查阅资料发现该问题在Fragment的官方文档上有描述。
大概就像上面框框里说的那样。
意思是说我使用的 commit方法是在Activity的onSaveInstanceState()之后调用,这样会抛出异常,因为onSaveInstanceState
方法是在该Activity即将被销毁前调用,来保存Activity数据的,如果在保存玩状态后再给它添加Fragment就会出错。解决办法就
是把commit()方法替换成 commitAllowingStateLoss()就行。