關於狀態保存:android
onSaveInstanceState動畫
當Activity被切換到後臺(部分可見或者不可見,但己不與用戶交互)時,就有可能由於資源緊張而被kill,會調用這個方法。spa
若是這個方法被調用的話,會在onStop以前,但與onPause誰先誰後不肯定。.net
這個方法的默認實現中,保存了當前可見的View樹的狀態,重寫時,若是要保留這個特性的話,調一下super.onSaveInstanceState。xml
onRestoreInstanceState生命週期
這個方法在onStart和onResume之間被調用。資源
絕大部分狀況下,使用onCreate就能夠恢復上一次保存的狀態 it
旋轉屏幕的時候須要對一些數據進行保存。有以下方法:io
1.AndroidManifest.xml配置文件中的Activity標籤下面添加:android:configChanges="orientation|keyboardHidden"後臺
而後在activity中重寫onConfigurationChanged()方法,每次旋轉時會調用該方法,能夠再該方法中處理數據[不管你怎麼旋轉都不會銷燬當前的Activity,只會執行onConfigurationChanged()方法,所以只要在該方法中處理響應的數據便可
生命週期以下:
onCreate->onStart->onResume->onConfigurationChanged()->
onConfigurationChanged()
2. 若是銷燬當前的Activity,那麼就要重寫Activity的兩個方法onSaveInstanceState()和 onRestoreInstanceState(),顯然從方法名字能夠看出一個是保存
數據,一個是還原數據,生命週期以下:
onCreate->onStart->onResume->onSaveInstanceState
->onPause->onStop->onDestroy->onCreate->onStart
->onRestoreInstanceState->onResume