7

該呼叫,這發生在一個片段,偶爾崩潰由於一個NullPointerException,特別是當應用未在前臺運行:活動是否可以收集垃圾收集,而不是兒童片段?

getActivity()getApplication());

當從服務器反饋回來或者需要重新繪製片段時,會發生此調用。我不確定爲什麼這個調用會拋出一個NPE,片段是否仍然保留在內存中,而Activity被GCed?

如果它有所不同,我使用SwipeyTab ViewPager來顯示不同的片段。

+1

什麼是logcat輸出? – Kerry

+0

嗨!好問題。爲了使它更清晰一點,你用什麼機制來獲取服務器數據,以及當你談論重新繪製片段時你指的是什麼?也許添加一些相關的代碼? :-) –

回答

1

問題是Fragment上有一個長時間運行的線程,它在Fragment從Activity中取消後返回結果。片段存在而不被附加到活動(在它已經被附加之後)似乎很奇怪。

2

Fragment如果沒有附件Activity,則不能存在。如果活動被破壞,那麼片段也是如此。另請注意,getActivity()將返回null,直到在片段上調用onAttach()