Skip to content
阅读进度

旋转屏幕或配置变化时具体发生什么? ​

返回 Android 核心 目录

标准回答 ​

默认需要重建且旧页面处于前台时,旧 Activity 通常执行 onPause → onStop → onDestroy;新实例执行 onCreate → onStart → onResume。系统可能保存并恢复状态;onSaveInstanceState 的精确相对时机与版本等条件有关,不应背成一条所有版本都相同的固定顺序。

机制解释 ​

系统需要根据新的尺寸、方向、语言、密度等配置重新选择资源。若正确声明并自行处理相关 configChanges,可能收到 onConfigurationChanged 而不为这些变化重建,但应用必须自己完成资源和布局适配。

延伸追问 ​

跨屏一定重建吗?不一定,取决于配置差异、应用声明和系统策略。即使没有重建,窗口尺寸和布局约束变化也会触发重新测量与布局,所以画面仍可铺满新屏幕。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。