Android Compose :初步了解一下生命周期,对比原生android

前言

  1. 为什么要了解生命周期?了解了又有何用。开发能得到什么?
  2. 为什么搞得那么复杂,又有组合,又有重组。

我们学原生的时候,都需要了解一下生命周期,因为它决定了我们页面在进入的时候要初始化什么,要销毁什么。所以,同样,我们在学习compose的时候,也需要了解他的生命周期是如何的。

一、组合

可以理解为就是oncreate,执行一次以后就不执行了,但是他并非是一个方法,而只是一个概念,可以理解为组合,就是初始化。

比如,首次执行setContent时,也就是执行,@Composable函数体内的逻辑(如创建 Text、Button 等 UI 元素);构建初始组合树,将 UI 描述转换为 Android 可渲染的 View(底层通过ComposeView桥接);

简单来说,就是将ui给渲染出来的一个过程。后续不再会组合了,因为组合是非常耗时的,但是我们会注意到,导航页面切换的时候,页面也会重新组合呀,那个已经不叫组合,而叫重组

如果你想模仿到oncreate,就可以使用副作用函数LaunchedEffect,初始化只执行一次。

二、重组

那么为什么叫重组,而不叫组合呢?因为重组意味着把原有的东西给重新组合。也就是,他只会更新那些发生变化的部分,从而能达到性能上的优化。这就是重组。同样也可以使用副作用函数 LaunchedEffect监听到,只需要修改他的参数就可以。

三、退出组合

Composable 从组合树中移除,这个使用DisposableEffect,可以监听退出组合,从而去销毁和是否一些资源。

相关推荐
JMchen1234 小时前
Android后台服务与网络保活:WorkManager的实战应用
android·java·网络·kotlin·php·android-studio
crmscs4 小时前
剪映永久解锁版/电脑版永久会员VIP/安卓SVIP手机永久版下载
android·智能手机·电脑
localbob4 小时前
杀戮尖塔 v6 MOD整合版(Slay the Spire)安卓+PC端免安装中文版分享 卡牌肉鸽神作!杀戮尖塔中文版,电脑和手机都能玩!杀戮尖塔.exe 杀戮尖塔.apk
android·杀戮尖塔apk·杀戮尖塔exe·游戏分享
机建狂魔4 小时前
手机秒变电影机:Blackmagic Camera + LUT滤镜包的专业级视频解决方案
android·拍照·摄影·lut滤镜·拍摄·摄像·录像
hudawei9964 小时前
flutter和Android动画的对比
android·flutter·动画
lxysbly6 小时前
md模拟器安卓版带金手指2026
android
儿歌八万首7 小时前
硬核春节:用 Compose 打造“赛博鞭炮”
android·kotlin·compose·春节
消失的旧时光-194310 小时前
从 Kotlin 到 Dart:为什么 sealed 是处理「多种返回结果」的最佳方式?
android·开发语言·flutter·架构·kotlin·sealed
有位神秘人10 小时前
kotlin与Java中的单例模式总结
java·单例模式·kotlin
Jinkxs10 小时前
Gradle - 与Groovy/Kotlin DSL对比 构建脚本语言选择指南
android·开发语言·kotlin