关于状态保存: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