84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
手机横竖屏切换时,fragment状态丢失,导致子线程请求的数据回调显示时,报空指针异常,如何解决
闭关修行中......
感觉像是转屏触发了重绘,在Manifast里面给当前Activity添加如下属性试试:android:configChanges="orientation|screenSize"
android:configChanges="orientation|screenSize"
不论是旋转屏幕还是关闭Activity, 都应该在Fragment#onDestroy()或者Fragment#onDestroyView()时, 取消网络接口的响应监听. 否则即便是通过设置android:configChanges解决屏幕旋转时Activity重建导致App崩溃的问题, 其他场景也还是有几率让App崩溃
Activity
Fragment#onDestroy()
Fragment#onDestroyView()
android:configChanges
建议阅读下Android源码去了解下以下几个知识点:
Activity是如何管理Fragment的
Fragment
Fragment是如何管理View的
View
Activity & Fragment是如何管理Loader的
Loader
另外推荐使用 Retrofit + RxAndroid + RxLifecycle 来实现网络接口以及调用. 页面数据管理可以考虑Loader.
感觉像是转屏触发了重绘,在Manifast里面给当前Activity添加如下属性试试:
android:configChanges="orientation|screenSize"
建议阅读下Android源码去了解下以下几个知识点:
Activity
是如何管理Fragment
的Fragment
是如何管理View
的Activity
&Fragment
是如何管理Loader
的另外推荐使用 Retrofit + RxAndroid + RxLifecycle 来实现网络接口以及调用. 页面数据管理可以考虑
Loader
.