在上一篇中我们简单了解关于Android中状态保存的过程和原理,这一篇中我们来看一下在系统配置改变的情况下保存数据及恢复数据的过程。
下面我们先来看一个现象:(代码在 Android中状态保存探究(上)中)
先启动应用如下:
打印的Log
再翻转屏幕
打印的Log如下
可以看到每翻转一次屏幕实际上系统会停止原理的activity并销毁然后重新启动一次,在这个过程中会调用onSaveInstanceState方法来保存原来的数据并通过onCreate方法恢复数据。因为要先onDestroy然后才onCreate,所以就会出现一个黑屏(闪屏)的短暂过程。像这种改变整个系统配置的现象叫做ConfigurationChanges.
ConfigurationChange具体有哪些,都代表什么,请看:http://developer.android.com/reference/android/R.attr.html#configChanges
| Constant | Value | Description |
|---|---|---|
mcc |
0x0001 |

本文深入探讨了Android中系统配置改变时如何保存和恢复活动(Activity)的状态,特别是面对ConfigurationChanges如屏幕翻转时,如何利用onSaveInstanceState、onCreate以及onRetainNonConfigurationInstance方法来处理数据保存。同时,提到了避免黑屏(闪屏)问题的方法,并讨论了在manifest中通过配置避免Activity重启的实践。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



