2012-03-14 69 views
1

我有一個主Activity需要一段時間才能加載,因爲它讀取客戶羣和加載屏幕。當我打電話給另一個活動(顯示未完成的客戶收據)時,要給出「返回」按鈕,我立即加載主活動。然而,當我打電話給其他活動(訂單,歷史等..)時,給「後退」按鈕需要一段時間再次顯示客戶。就像其中一個Activity不會破壞主Activity一樣,其餘的如果你銷燬它。所有的都以同樣的方式創建(我認爲)。這可能發生嗎?什麼叫一個活動不被破壞的主要?可能是內存問題?ANDROID - 活動不會破壞主要活動

+0

嘗試發佈您的資源。作爲一個提示 - 如果你想摧毀Activity - 調用finish(); – 2012-03-14 19:12:34

回答

1

在正常情況下,當從一個Activity到另一個時,第一個Activity不會被銷燬。它被推送到一個後臺堆棧,以便用戶按下「後退」時可以立即返回。

其內容可以但是如果當前頂部Activity佔用太多內存將被銷燬。 Android操作系統將從後臺堆棧中的活動中釋放資源,以適應前臺活動的需求。在這種情況下,活動將被有效地「重新啓動」,並且當用戶按下「後退」時必須重建。

+0

非常感謝您 – Sebosin 2012-03-15 08:27:56

+0

您可以告訴Android,它不會銷燬從未給出的Activity嗎? (帶有標誌或其他東西) – Sebosin 2012-03-15 08:33:12

+0

沒有我知道的標誌。你必須假設它可以在任何時候被銷燬,並準備好重建。這通常涉及'onCreate'或'onResume'中的if語句,類似於'if(objectNotFound){//重新創建對象}'。 – DeeV 2012-03-15 17:47:29