首页
›
移动端与Android应用开发
›
033-Jetpack Compose启动耗时优化
›
《Compose初始组合耗时分析教程》
VIP20
本课程属于:033-Jetpack Compose启动耗时优化
移动端与Android应用开发 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Compose初始组合耗时分析教程
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
Compose初始组合阶段原理
Composition阶段执行流程 · SlotTable结构 · Recomposer调度机制
Compose
初始组合阶段原理
02
测量初始组合耗时的工具链
Compose Metrics开关配… · Baseline Profile生成… · Android Studio Pro…
测量初始组合耗时…
Compose
03
使用Compose Compiler Metrics分析组合耗时
开启compileOption me… · 读懂Composable函数生成的组… · 定位高耗时节点
Compose
Compiler
04
Baseline Profile的生成与集成
手工生成baseline-prof.… · 使用Macrobenchmark自动… · AGP插件配置
Baseline
Profile
05
Macrobenchmark编写初始组合耗时测试
JankStats与ComposeB… · setup与measureBlock… · 收集First Compositio…
Macrobenchma…
编写初始组合耗时…
06
理解Compose Layout阶段与初始组合的关系
LayoutNode树构建 · Measure与Place代价 · 初始组合中Layout阶段占比分析
Compose
Layout
07
Subcomposition(子组合)的耗时分析
CompositionLocalPr… · SubcomposeLayout · LazyColumn item预组合
Subcompositi…
子组合
08
重组与初始组合的区别诊断
使用Recomposer日志区分替换… · 初始组合中不必要的重组识别
重组
初始组合的区别诊…
09
remember与LaunchedEffect对初始组合的影响
remember初始值计算开销 · LaunchedEffect启动协程… · 如何避免初始组合中高耗时副作用
remember
LaunchedEffe…
10
CompositionLocal初始注入的优化
大量CompositionLocal… · 使用静态Local替换动态 · defaultComposition…
CompositionL…
初始注入的优化
11
LazyColumn item的初始组合耗时
item进入屏幕时的首次组合 · key对item复用的影响 · 预先组合(prefetch)策略
LazyColumn
item
12
自定义Composable函数初始组合优化
减少lambda闭包捕获 · 稳定类型注解 · inline函数使用
Composable
自定义
13
State对象初始化对初始组合的拖累
mutableStateOf与der… · 快照系统创建开销 · 推迟不必要的State创建
State
对象初始化对初始…
14
Modifier链初始组合开销分析
每个Modifier的measure… · reduce Modifier链长度 · 使用组合Modifier减少节点
Modifier
链初始组合开销分…
15
惰性布局(LazyColumn/LazyRow)初始组合策略
enableLazyLayoutMe… · itemContentFactory… · 预取第一个可见item
LazyColumn/L…
惰性布局
16
Compose树层级扁平化
减少嵌套LayoutNode深度 · 使用Column/Row替代Box · 避免无意义的外层容器
Compose
树层级扁平化
17
使用R8/ProGuard混淆对初始组合性能的影响
混淆是否破坏Compose稳定类型推… · 如何保留Compose类名 · 基线时机变化
R8/ProGuard
使用
18
从Trace文件定位初始组合热点
打开Android Studio T… · 查找Compose相关线程标签 · 识别慢Composable调用栈
Trace
文件定位初始组合…
19
使用Robolectric单元测试模拟初始组合
ComposeTestRule与pe… · 测量初始组合耗时的方法 · 断言阈值
Robolectric
使用
20
对比不同Compose版本初始组合性能变化
迁移到新版本后基线回归 · 利用ApiVersion注解 · 兼容库引入的额外开销
Compose
对比不同
21
初始组合中的图片与网络请求瓶颈
Coil/Glide异步加载首次耗时 · 占位图与渐进式加载 · 延迟图片加载到界面可见后
初始组合
图片
22
Text与TextField初始组合性能
测量字体加载 · Span计算 · inputField初始化
Text
TextField
23
动画(animate*AsState)在初始组合中的开销
初始值插入动画系统 · Spec对象创建 · 取消初始组合中不必要动画
animate
AsState
24
ConstraintLayout在Compose中的初始组合代价
ConstraintSet计算 · 引导线解析 · 与简单Row/Column比较
ConstraintLa…
Compose
25
嵌套可滚动组件初始组合
LazyColumn嵌套Scroll… · SyncedScrollListen… · 过度滑动处理对首次渲染的影响
嵌套可滚动组件初…
LazyColumn
26
使用@Stable与@Immutable注解优化初始组合
类型稳定性推断 · 避免不必要的重组 · mutable state clas…
Stable
Immutable
27
初始组合耗时与启动时间的关系
从Application.onCre… · ComposeView添加到Deco… · AndroidX SplashScr…
初始组合耗时
启动时间的关系
28
多屏幕Density与FontScale对初始组合的影响
dp计算 · sp与字体缩放 · 配置变更时的重新组合
Density
FontScale
29
分步加载策略
将复杂UI拆分成阶段 · 使用CompositionLocal… · MeasurePolicy分阶段me…
分步加载策略
UI
30
实战案例
综合优化一个复杂主页初始组合耗时 · 从Metrics采集 · Trace分析
实战案例
综合优化一个复杂…
所属VIP或分类
同VIP:Android-Studio-Profiler卡顿分析课程
同VIP:Baseline-Profile配置实战教程
同VIP:Compose启动ANR问题排查实践