今天在做测试的时候,发现一个bug。当把Fragment的commit()方法放在onResum()时,锁屏之后再解屏,程序就会直接崩溃。查阅资料发现该问题在Fragment的官方文档上有描述。
大概就像上面框框里说的那样。
意思是说我使用的 commit方法是在Activity的onSaveInstanceState()之后调用,这样会抛出异常,因为onSaveInstanceState
方法是在该Activity即将被销毁前调用,来保存Activity数据的,如果在保存玩状态后再给它添加Fragment就会出错。解决办法就
是把commit()方法替换成 commitAllowingStateLoss()就行。
本文探讨了在Android开发中使用Fragment的commit方法时遇到的一个常见问题:在Activity的onResume()方法中调用commit导致的异常。文章详细解释了问题产生的原因,并提供了解决方案——使用commitAllowingStateLoss代替普通的commit。
1226

被折叠的 条评论
为什么被折叠?



