首页
›
移动端与Android应用开发
›
033-Jetpack Compose启动耗时优化
›
《ViewModel首次显示延迟解决课程》
VIP20
本课程属于:033-Jetpack Compose启动耗时优化
移动端与Android应用开发 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
ViewModel首次显示延迟解决课程
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
首次显示延迟的现象识别
丢帧 · 白屏 · 页面跳闪
首次显示延迟的现…
丢帧
02
延迟数据采集工具配置
Profiler · Systrace · Macrobenchmark
延迟数据采集工具…
Profiler
03
ViewModel初始化链路追踪
ViewModelProvider · Factory · 构造函数耗时
ViewModel
初始化链路追踪
04
onCreate与onViewCreated时间线分析
生命周期方法执行顺序与耗时
onCreate
onViewCreate…
05
数据加载源排查
网络请求 · 数据库查询 · 文件IO
数据加载源排查
网络请求
06
协程/线程调度对首次显示的影响
Dispatchers选择 · 线程切换开销
协程
线程调度对首次显…
07
StateFlow/LiveData首次发射时机
数据就绪后通知UI的延迟
StateFlow/Li…
首次发射时机
08
View绑定与Observable订阅顺序
observe时机 vs UI渲染时…
View
Observable
09
布局解析与测量耗时
嵌套层级 · ConstraintLayout过度… · 异步布局
布局解析
测量耗时
10
Fragment/Activity创建开销
反射 · AppCompat主题 · 资源加载
Fragment/Act…
创建开销
11
Application初始化与App Startup
ContentProvider初始化… · 延迟初始化
Application
App
12
Hilt/Dagger依赖注入首次初始化
组件图构建 · Scoped绑定 · Module加载
Hilt/Dagger
依赖注入首次初始…
13
ViewModelScope与生命周期的耦合
clear()时机 · 自动取消导致的数据重复加载
ViewModelSco…
生命周期的耦合
14
缓存策略对首次显示的影响
内存缓存 · 磁盘缓存 · 预加载
缓存策略对首次显…
内存缓存
15
数据合并与转换操作
map · combine · flatMapLatest的计算开销
数据合并
转换操作
16
ViewStub与懒加载视图
延迟inflate与首次显示冲突
ViewStub
懒加载视图
17
自定义View的onDraw/onLayout优化
避免在首次绘制中执行耗时操作
View
onDraw/onLay…
18
Transition动画与入场效果
入场动画阻塞首次帧渲染
Transition
动画
19
系统级延迟因素
低内存 · GC · 冷启动
系统级延迟因素
低内存
20
故障树构建
从“首次显示延迟”向下分解至具体根因
故障树构建
从“首次显示延迟…
21
排查判断规则表
每种现象对应的可能根因与检查方法
排查判断规则表
每种现象对应的可…
22
修复动作一
ViewModel初始化轻量化——懒… · 延迟注入 · 异步构造
修复动作一
ViewModel
23
修复动作二
数据预加载与缓存——提前加载 · 数据分页 · Stub数据
修复动作二
数据预加载
24
修复动作三
UI绑定时机优化——observed… · lifecycle.repeatOn…
修复动作三
UI
25
修复动作四
布局与渲染优化——异步LayoutI… · X2C · Compose迁移
修复动作四
LayoutI
26
复测方案
对比测试 · 火焰图对比 · 帧率指标
复测方案
对比测试
27
复测清单
覆盖冷启动 · 热启动 · 后台恢复
复测清单
覆盖冷启动
28
预防措施
CI集成性能检测 · 单元测试模拟延迟 · 代码审查规则
预防措施
CI
29
持续监控
自定义First Display D… · 上报到APM系统 · 告警阈值
持续监控
First
30
案例复盘与总结
典型延迟案例从发现到解决的全过程文档…
案例复盘
典型延迟案例从发…
所属VIP或分类
同VIP:Android-Studio-Profiler卡顿分析课程
同VIP:Baseline-Profile配置实战教程
同VIP:Compose初始组合耗时分析教程