Activity的生命周期

onCreate
onStart
onReStart
onResume
onPause
onStop
onDestroy

清晰描述onConfigurationChanged生命周期方法的場景

  • 簡述場景

由于系統(tǒng)的數據儲存和恢復機制,當系統(tǒng)配置發(fā)生改變后,Activity會被重建,如果不想讓Activity重建,可以給Activity指定configChanges屬性。這樣當相關配置改變后,Activity不重建,取而代之的是調用onConfigurationchanged方法。

  • 案例

比如,Activity默認當橫豎屏發(fā)生改變,Activity被重建,用上述方法在Menifest.xml中給Activity聲明android:configChanges="orientation|srceenSize"

如果橫豎屏切換不進行上述操作使Activity重建,系統(tǒng)的數據儲存和恢復機制是如何處理

onSaveInstanceState、onRestoreInstanceState調用場景

@Override
  protected void onSaveInstanceState(Bundle outState) {
      super.onSaveInstanceState(outState);
  }

  @Override
  protected void onRestoreInstanceState(Bundle savedInstanceState) {
      super.onRestoreInstanceState(savedInstanceState);
  }
  • Activity在異常情況下終止,系統(tǒng)會調用onSaveInstanceState來保存當前Activity的狀態(tài)。這個方法在onStop方法之前調用,和onPause沒有既定的時序關系。
  • 在Activity被重建后,系統(tǒng)會在onStart之后調用onRestoreInstanceState,并且把銷毀前onSaveInstanceState保存的Bundle對象作為參數傳遞給onRestoreInstanceState和OnCreate方法
  • 系統(tǒng)自動保存的狀態(tài):當前Activity的視圖結構、文本框中用戶輸入的數據、ListView的滾動位置等
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容