手機橫豎螢幕切換時,fragment狀態遺失,導致子執行緒請求的資料回呼顯示時,報空指標異常,如何解決
#
巴扎黑2017-05-31 10:40:57
感覺像是轉屏觸發了重繪,在Manifast裡面給當前Activity添加如下屬性試試:android:configChanges="orientation|screenSize"
为情所困2017-05-31 10:40:57
不論是旋轉螢幕還是關閉
Activity
, 都應該在Fragment#onDestroy()
或Fragment#onDestroyView()
時, 取消網路介面的回應監聽. 否則即使是透過設定and
螢幕旋轉時Activity
重建導致App崩潰的問題, 其他場景也還是有幾率讓App崩潰
建議閱讀下Android源碼去了解下以下幾個知識點:
Activity
是如何管理Fragment
的
Fragment
是如何管理View
的
Activity
& Fragment
是如何管理Loader
的
另外推薦使用 Retrofit + RxAndroid + RxLifecycle 來實現網路介面以及呼叫. 頁面資料管理可以考慮Loader
.