标签:
欢迎转载,转载请注明出处 http://blog.csdn.net/l664675249/article/details/50638398
关于Activity正常情况下的生命周期请参考这篇文章,本文主要讲解Activity在异常情况下的生命周期。
资源相关的系统配置发生改变,举个栗子。当前Activity处于竖屏状态的时候突然转成横屏,系统配置发生了改变,Activity就会销毁并且重建,其onPause, onStop, onDestory均会被调用。因为实在异常情况下终止的,所以系统会调用onSaveInstanceState来保存当前Activity状态。这个方法是在onStop之前,与onPause没有固定的时序关系。当Activity重建的时候系统会把onSaveInstanceState所保存的Bundle作为对象传递给onRestoreInstanceState和onCreate方法。
注:
系统内存不足是,会按照以上顺序杀死Activity,并通过onSaveInstanceState和onRestoreInstanceState这两个方法来存储和恢复数据。
系统配置有很多内容,当某项改变时,我们不想让Activity重新创建可以在AndroidMainfest中给Activity指定configChanges属性。比如
android:configChanges="orientation"
configChanges属性非常多,具体可参考官方文档
常用的有locale, orientation和keyboardHidden这三个。
Activity在异常情况下的生命周期——Android开发艺术探索笔记
标签:
原文地址:http://blog.csdn.net/l664675249/article/details/50638398