2013-07-02 33 views
1

我有,我創建mContext碎片和垃圾收集

Context mContext = getActivity(); 

在我的分片嵌套構造函數,但沒有用我的應用程序的長時間後mContext似乎碎片問題進行垃圾回收,當我恢復活動,該值現在爲空。

我想到在我的片段的onResume上放置mContext空檢查。這是處理這個錯誤的最好方法。此問題發生在多個地方。

回答

0

如果Activity不可見,則Activity是要其生命週期的onStop方法,那麼Activity可以通過OS隨時OS感覺像垃圾回收。

Activity不可見之後,您不應該依賴Context

總是得到新鮮Context,當你恢復Activity和不依賴於NullPointer檢查時,你不應該擺在首位;-)

得到一個NullPointerhttp://developer.android.com/training/basics/activity-lifecycle/pausing.htmlhttp://developer.android.com/training/basics/activity-lifecycle/stopping.html參考。

編輯:

當你的活動收到調用的onStop()方法,它不再可見,並且應該釋放不需要的,而幾乎所有的資源:從最後一個環節報價用戶沒有使用它。一旦您的活動停止,系統可能會銷燬實例,如果它需要恢復系統內存。