山て
身体和灵魂总有一个要在路上
CameraX 图像分析:读懂 YUV 平面步长,才能正确处理背压与帧生命周期 CameraX 图像分析:读懂 YUV 平面步长,才能正确处理背压与帧生命周期
相机预览正常而分析画面错位,往往不是算法错误,而是把有填充的 YUV 平面当成连续数组。本文从像素寻址推导裁剪区域的读取方式,结合 ImageProxy 生命周期与背压策略,设计可验证、内存受控的分析管线。
2026-10-18
Compose 性能分析:重组次数、稳定性与掉帧之间到底有什么关系 Compose 性能分析:重组次数、稳定性与掉帧之间到底有什么关系
重组次数多不必然意味着卡顿,稳定性标记也不能代替测量。本文以可筛选笔记列表为例,分析状态读取位置、列表身份和强跳过的行为,用确定性工作负载建立从系统 Trace 到代码修改的性能证据链。
2026-10-18
Room 离线优先同步:本地事务、Outbox 与旧响应覆盖新编辑的竞态 Room 离线优先同步:本地事务、Outbox 与旧响应覆盖新编辑的竞态
离线保存与后台上传之间存在崩溃窗口,上传响应还可能覆盖用户的新编辑。本文以笔记同步为例设计本地版本、待发送记录和条件确认,说明 Room 事务能保证什么,以及跨设备冲突为什么需要服务端参与。
2026-10-18
安卓后台同步:WorkManager 的约束、重试与幂等怎么配合 安卓后台同步:WorkManager 的约束、重试与幂等怎么配合
以笔记上传为例,将持久调度、待办数据和服务端提交分开建模。重点分析唯一工作导致的丢唤醒窗口、错误分类与重试预算、响应丢失后的幂等契约,以及进程中断后如何重新发现未完成工作。
2026-10-16
安卓开发:用 ViewModel 和 StateFlow 管理 Compose 页面状态 安卓开发:用 ViewModel 和 StateFlow 管理 Compose 页面状态
以笔记列表为例,明确首次加载、保留旧内容刷新和失败恢复的状态转移。进一步处理取消不及时导致的旧响应覆盖、生命周期收集、消息消费与进程恢复,让 StateFlow 承载可验证的页面状态。
2026-10-16