onSaveInstanceState调用时机
问题:
①在阅读Android开发艺术中描述onSaveInstanceState调用时机位于onStop之前,但是基于Android10的测试,onSaveInstanceState调用实际恰好位于onStop之后
-
测试:startActivity
- 测试:关闭电源
- 测试:Home按钮
- 测试:打开切换后台程序
- 测试:配置变化(屏幕旋转)
- 测试:资源紧张(待测试)
结论:这是基于我的Android10的测试结论,仅个人理解,个人能力有限,仅基于推测,具体源码还得进一步学习,有不对的地方可补充的地方还请指正说明
结论注解:
①资源紧张:高优先级进程资源紧张,导致当前低优先级资源被回收(前台进程->可见进程->后台进程)
②配置变化:常见locale(系统语言发生改变)、orientation(屏幕横竖显示方向改变,api13后需要结合screenSize使用)、keyboardHidden(键盘的可访问性)等,可通过配置configChanges的变化,禁止Activity重启。