Appearance
android-activity-lifecycle-basic
1. 实验目标
用最小 Android Activity 验证:
onCreateonStartonResumeonPauseonStoponRestartonDestroy
并对照:
- 透明覆盖/页面跳转/返回 时的典型顺序
- Activity 生命周期与 Flutter 页面生命周期的差异
- 为什么“页面可见”和“页面可交互”不是同一个阶段
2. 工程要点
- 使用原生 Android
Activity - 页面内维护日志文本,便于直接观察生命周期顺序
- 提供“打开详情页”按钮,触发第二个 Activity 验证前后台切换
- 当前版本先用 Kotlin + XML 经典视图体系,后续可补 Compose 对照版与 Java 版
3. 运行方式
bash
cd labs/android/host
./gradlew installDebug前置:JDK 17、Android SDK(local.properties 或 ANDROID_HOME)、已连接设备。详见 host Android Host — Lab 索引。
在设备/模拟器中打开 Android Host,进入 Android Activity Lifecycle。
4. 预期现象
- 首次进入:
onCreate → onStart → onResume - 打开详情页:当前页
onPause → onStop,详情页进入前台 - 返回上一页:详情页
onPause → onStop → onDestroy,上一页onRestart → onStart → onResume - 旋转或配置变更(后续可扩展):旧实例销毁,新实例重建
5. 常见误区
| 误区 | 实际情况 |
|---|---|
onPause 后页面就完全不可见 | 不一定,部分遮挡场景下可能仍可见 |
onStop 后对象一定立刻释放 | 不一定,进程是否被系统杀掉取决于内存压力 |
| Activity 生命周期可以直接套到 Flutter Widget | 不行,Flutter 还有 Widget / Element / RenderObject 这一层 |
6. 对应知识库文档
- 理论主文档:Android 生命周期总览