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