2011-06-19 69 views
1

因此,我已經編寫了一個主要活動(A)的應用程序,以及其他各種可以做某些事情的子活動,並將工作重新報告給main,並完成。Android - 告訴父母活動是否已被破壞

我碰到的是,如果用戶離開我的應用程序在屏幕B或C,當他們稍後回來,並且dalvik已經銷燬我的活動以獲得更多RAM時,應用程序將從B或C,並從保存的意圖中讀取所有初始化的東西,並繼續,如同沒有任何事情發生。直到他們回到活動A,在那裏我們從意想不到的事情中接近力量。

我搭配重寫onStop()並打完電話,但我認爲這有點焦土,我想讓他們離開這個活動並回來。但我也想檢測一下主要活動是否已經被破壞,然後銷燬我的整個活動堆棧。

從閱讀的角度來看,我認爲onDestroy()並不總是被調用,所以對於我來說插入一些邏輯到活動A的onDestroy ....任何想法都是不可靠的。

回答

0

嘗試從標記FLAG_ACTIVITY_NO_HISTORY開始您的子活動B和C.

+0

有趣的是,我還沒有搞亂意圖標誌之前。這些似乎只是複製了覆蓋B和C的'onStop'的功能(焦土),但是它們在主活動的'onActivityResult'上返回了一些空回來,我可以捕獲它們以用於持久化....我會與其他一些看起來很有前途的標誌修補並報告。 – Eric

+1

我仍然不能像想象的那樣工作,但我在這個過程中學習了很多關於意圖標誌的知識,所以不好意思將它標記爲正確。我結束了去焦土路線(重寫onStop,調用'finish();'),因爲我的數據處於不一致的狀態是不可接受的。 – Eric

相關問題