文章詳情頁
android - 手機橫豎屏時,fragment里的實例如recyclerview對象為null,后臺返回數據時回調導致空指針異常
瀏覽:72日期:2024-08-13 13:08:15
問題描述
手機橫豎屏切換時,fragment狀態丟失,導致子線程請求的數據回調顯示時,報空指針異常,如何解決
問題解答
回答1:感覺像是轉屏觸發了重繪,在Manifast里面給當前Activity添加如下屬性試試:android:configChanges='orientation|screenSize'
回答2:不論是旋轉屏幕還是關閉Activity, 都應該在Fragment#onDestroy()或者Fragment#onDestroyView()時, 取消網絡接口的響應監聽. 否則即便是通過設置android:configChanges解決屏幕旋轉時Activity重建導致App崩潰的問題, 其他場景也還是有幾率讓App崩潰
建議閱讀下Android源碼去了解下以下幾個知識點:
Activity是如何管理Fragment的
Fragment是如何管理View的
Activity & Fragment是如何管理Loader的
另外推薦使用 Retrofit + RxAndroid + RxLifecycle 來實現網絡接口以及調用. 頁面數據管理可以考慮Loader.
排行榜
