android activity詳解四:儲存activity的狀態的更多事項

來源:互聯網
上載者:User
處理系統配置變化

很多裝置可以在運行時改變系統配置,比如螢幕方向,鍵盤配置以及語言等。當類似的變化發生時,系統會把啟動並執行activity重啟(調用onDestroy(),然後調用onStart(),――哦~,沒有調用onRestart()),如果你的activity能跟據這些變化做出相應的處理,那麼你的程式將更穩定可愛。

那麼如何應付這些變化呢,最好的辦法就是寫好狀態儲存/恢複方法們。比如onSaveInstanceState(),onRestoreInstanceState()/onCreate()。

對於系統配置改變的詳細資料以及基體應對方法,請觀“處理運行時配置變化”一節。

協調activity們

當一個activity啟動另一個時,兩者都在走生命週期。如果這兩個activity之間要共用資料,那麼重點要理解當第二個activity被建立時,第一個activity還沒有執行到onStop()。開始新一個和結束前一個之間有交集。

當activityA啟動ActivityB時,會按以下順序執行:

1Activity A
的onPause()執行。

2Activity B的onCreate(),onStart(),onResume()依次執行(此時actvityB具有使用者焦點)。

3Activity A的onStop()被執行(假設A被B完全遮蓋)。

你應跟據這個順序來管理兩者之間的資料傳遞。比如,如果A要向資料庫中寫入資料,要保證B在初始化時能讀到A寫入的完整資料,那麼A應在onPause()方法中寫入資料,而不能在onStop()中寫入。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.