1
你好,我只是有點困惑於Tasks and Back Stack閱讀這些材料,Android開發者指南後:任務,返回鍵和onSaveInstanceSate方法
它說:
當活動A啓動活動B,活動A停止,但系統保持其狀態(例如滾動位置和輸入表單的文本)。如果用戶在活動B中按下後退按鈕,則活動A將恢復其狀態並恢復。
儘管在the APIs reference for onSaveInstanceState() method,它說:
一個時的onPause()和的onStop()被調用的示例,並且不是本方法是當用戶從活動乙導航回活性的:有無需在B上調用onSaveInstanceState(Bundle),因爲該特定實例永遠不會被恢復,所以系統可以避免調用它。
以上兩種情況對我來說似乎是一樣的(「按Back
按鈕到活動A」和「從活動B回到活動A」)。但我不明白爲什麼前者說活動A恢復了以前的狀態,而後者說活動B的特定情況永遠不會恢復。任何解釋?
在此先感謝!
你是對的,第二個說B(不A)不會恢復(我錯過了閱讀它)!當從B按下Back按鈕到A時,B被銷燬,並且A被恢復,所以不需要在B上調用onSaveInstanceState()。對嗎? – Bao 2012-03-18 01:37:02
是正確的,但作爲一個實際問題,總是要準備在您的活動中調用onSaveInstanceState,這是一個好主意,因爲您永遠不會知道會發生什麼 - 通知可能會吸引用戶的注意力,然後他們會執行某些操作,然後返回到B從那個其他活動,然後B將需要恢復。 – dldnh 2012-03-18 01:44:03
「當用戶按下」後退「按鈕時,當前活動將被銷燬,並恢復前一活動。」 – Bao 2012-03-18 01:49:56