Skip to content

android-activity-lifecycle-basic

1. 实验目标

用最小 Android Activity 验证:

  • onCreate
  • onStart
  • onResume
  • onPause
  • onStop
  • onRestart
  • onDestroy

并对照:

  • 透明覆盖/页面跳转/返回 时的典型顺序
  • Activity 生命周期与 Flutter 页面生命周期的差异
  • 为什么“页面可见”和“页面可交互”不是同一个阶段

2. 工程要点

  • 使用原生 Android Activity
  • 页面内维护日志文本,便于直接观察生命周期顺序
  • 提供“打开详情页”按钮,触发第二个 Activity 验证前后台切换
  • 当前版本先用 Kotlin + XML 经典视图体系,后续可补 Compose 对照版与 Java 版

3. 运行方式

bash
cd labs/android/host
./gradlew installDebug

前置:JDK 17、Android SDK(local.propertiesANDROID_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. 对应知识库文档

7. 关键源码