前言:每天一点面试,Android开发篇,其他岗位陆续更新中
目录一览
- Activity正常生命周期
- 几个异常情况分析
- 异常总结,恢复数据
1,正常生命周期
2,几个异常情况
2.1,横竖屏旋转
竖屏切换到横屏/横屏切换到竖屏
小贴士1:
在AndroidManifest.xml 添加android:screenOrientation="portrait" 强制竖屏
小贴士2:
在Android系统默认的情况下,当“屏幕方向”或“键盘显示隐藏”变化时都会销毁当前Activity,创建新的Activity。如果不希望重新创建Activity实例,可以在AndroidManifest.xml中配置
android:configChanges="keyboardHidden|orientation|screenSize"
这样 activity并没有执行销毁重建的过程,而调用了onConfigurationChanaged方法!
2.2,资源内存不足导致优先级低的Activity被杀死。
异常总结,恢复数据
总结:这两种情况,都会走onSaveInstanceState和onRestoreInstanceState
所以,我们可以在这两个方法里,保存和恢复数据
参考代码:
@Overrideprotected void onCreate(Bundle savedInstanceState) { Log.d("mytag