我正在閱讀管理活動生命週期的官方Android教程。請引用以下幾點。Android上的活動娛樂活動
(正常的應用程序行爲) 「當您的活動因用戶按下」後退「或活動自行完成而被銷燬時,該活動實例的系統概念將永遠消失,因爲該行爲表明活動不再需要。 「如果系統由於系統約束(而不是正常的應用程序行爲)而破壞了活動,那麼儘管實際的活動實例不見了,系統仍會記住它存在,因此如果用戶導航回到它,系統使用一組保存的數據創建一個新的活動實例,這些數據描述活動在銷燬時的狀態。「
「系統用於還原以前狀態的已保存數據是存儲在Bundle對象中的鍵值對的集合。默認情況下,保存的信息與活動的視圖層次結構有關,例如在窗口小部件中輸入的文本,滾動位置等。爲了保存活動的其他狀態信息,例如成員變量,必須實現onSaveInstanceState()並將鍵值對添加到Bundle對象中。「
請看看我是否可以從上面的正確總結:
該系統的資源意識和能破壞活動以恢復內存。如果系統這樣做,那麼它會留下一個選項,以便在以後需要時將已銷燬的活動恢復到之前的狀態。
State = view-state(默認,自動完成)+ member-variable-state(手動,直到程序員)。
我的問題是,如果系統正在銷燬某個活動以釋放某些內存,那麼它是否會破壞目的,如果它允許我們保留活動的「副本」,以便可以恢復活動 到了與銷燬前相同的地步?
我想這就是爲什麼他們提供onpause和onresume –