产生这种bug的原因有两种:
第一种:
因为内存不够,导致后台Activity被GC回收,再返回应用,然后Fragment并不会随着Activity的回收而被回收,从而导致,Fragment丢失对应的Activity。
解决方法是在frangment对应的activity里重写onSaveInstanceState(Bundle outState)并去掉super.onSaveInstanceState(outState),使activity被回收的时候不保存Fragment的状态,从而让Fragment和Activity一起回收
第二种:横竖屏切换的时候没有设置android:configChanges=”keyboardHidden|orientation|screenSize” 其中screenSize属性是保证activity横竖屏切换事不重绘的属性。
解决方法,在AndroidManifest.xml中对应的activity节点中配置上述属性。
应用回到主界面再返回应用导致Fragment.getActivity()为空的解决方法。
最新推荐文章于 2022-03-26 20:24:52 发布