簡體   English   中英

Android Activity自動恢復狀態

[英]Android Activity restoring state automatically

在我的應用程序中,我沒有覆蓋任何與狀態相關的方法,如onPause()onStop()但我的活動仍是在某些設備中自動恢復其先前狀態,但在其他設備中卻沒有恢復。

為什么會這樣呢?

這是代碼:

 new CountDownTimer(30000, 1000) {

 public void onTick(long millisUntilFinished) {
      mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
 }

 public void onFinish() {
     mTextField.setText("done!");
 }
}.start();

這一切都在Android開發人員指南的這一部分中進行了描述。

默認情況下,系統使用Bundle實例狀態來保存有關活動布局中每個View對象的信息(例如,輸入到EditText對象中的文本值)。 因此,如果您的活動實例被銷毀並重新創建,則布局狀態將恢復為之前的狀態,而無需您執行任何代碼。

因此,這意味着視圖狀態將自動保存。 但是,並非總是如此,例如:

當您的活動由於用戶按下Back或活動本身而被破壞時,該Activity實例的系統概念就永遠消失了,因為行為表明不再需要該活動。

如果按“主頁”按鈕,然后打開應用程序,則將還原您的應用程序,並且計時器將在相關位置工作(當您按“主頁”按鈕時-應用程序在后台運行)。 但是,如果您按“后退”按鈕(應用程序完成),然后打開應用程序-它將重新創建/重新啟動,並且計時器將從頭開始。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM