什麼時候該視圖的「死亡」,並在Android中不存在?何時在android中查看'殺死'?
例如,假設我有一個asynctask,並且我在doInBackground()
方法中運行了一些網絡相關的東西。然後,我需要在onPostExecute()
方法中更新我的UI視圖。 假設我的doInBackground()
需要一段時間,當它正在處理中時,用戶移回或甚至按下主頁按鈕。該任務將繼續,因爲doInBackground在單獨的線程上運行,但是,一旦完成並調用onPostExecute更新視圖,視圖可能不在那裏。
- 即使活動不可見(無論是主屏幕還是其他活動),當視圖嘗試訪問和修改時會發生什麼?他們在'堆/內存/任何'中停留多久,在onDestroy之後是否收集垃圾?或者他們在那之後呆在附近?
我知道一個辦法不進入這個hastle是使用被打開和關閉內部的onResume和的onStop開關和onPostExecute更新視圖之前檢查一下吧,但我不能確定這是否是固體的方法在android應用中應用?如果不是,建議的方式是什麼?
感謝您的詳細解答! – tony9099