Heim > Fragen und Antworten > Hauptteil
Wenn das Mobiltelefon zwischen horizontalen und vertikalen Bildschirmen wechselt, geht der Fragmentstatus verloren, was dazu führt, dass eine Nullzeigerausnahme gemeldet wird, wenn der vom Unterthread angeforderte Datenrückruf angezeigt wird. So lösen Sie das Problem
巴扎黑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
.