三分钟搞懂 Kotlin Flow 中的背压

Kotlin Flow 的背压处理,核心是让快生产、慢消费的节奏重新匹配。本文用同一组示例讲清默认串行收集、`buffer()`、`conflate()` 和 `collectLatest {}` 的行为差异,并给出按场景选择的判断方法。 在 Kotlin Flow 的使用中,真正难的通常不是把数据“发出来”,而是上游很快、下游很慢时该怎么处理。

三分钟搞懂 Kotlin Flow 中的背压

Jetpack Compose 实战:打造高性能轮播图(Carousel)组件

这篇文章用 Jetpack Compose 官方 `HorizontalPager` 实现一个可复用轮播图组件,覆盖基础滑动、伪无限循环、自动轮播、拖拽暂停和底部指示器。文中保留完整 Kotlin 示例,并说明从 Accompanist 迁移到 `androidx.compose.foundation.pager` 后的实现重点。 在 Android 传统 View 体系里,轮播图通常要把 ViewPager 或 ViewPager2 、定时器和手势处理拼在一起,代码不算复杂,但零散且不够直观。

Jetpack Compose 实战:打造高性能轮播图(Carousel)组件

Kotlin Flow 讲清楚:Flow、StateFlow、SharedFlow 到底该怎么用

这篇文章用 Android 开发语境梳理 Kotlin Flow:先讲清冷流与热流的区别,再拆分 Flow、StateFlow、SharedFlow 的使用边界,最后补上在 Views 与 Compose 中安全收集的写法,以及常见操作符该放在哪一层。 Kotlin Flow 在 Android 里几乎已经是异步数据处理的默认选项,但真正落到项目中,很多人最容易混淆的还是三件事:普通 Flow、StateFlow、SharedFlow 各自该管什么,以及它们在 UI 层该怎么收集才不踩生。

Kotlin Flow 讲清楚:Flow、StateFlow、SharedFlow 到底该怎么用

Kotlin 条件与循环控制入门:if、when、for 与区间表达式详解

这篇文章梳理 Kotlin 中最常见的流程控制写法:`if`、`when` 与 `for`/`while`/`do-while`。重点不是简单罗列语法,而是说明 Kotlin 和 Java 在“表达式返回值”“没有 `switch-case`”“区间遍历”上的实际差异,方便你快速判断该怎么写。 很多刚从 Java 转到 Kotlin 的开发者,第一批遇到的语法差异往往就出现在流程控制上:`if` 不只是语句,`when` 也不是简单照搬 `switch-case`,循环写法看似熟悉,但区间遍历又。

Kotlin 条件与循环控制入门:if、when、for 与区间表达式详解

Android 自定义 View 实战:打造一个跟随滑动的丝滑指示器

这篇文章用 Kotlin 实现一个可复用的水平滚动指示器 `BottomLineView`,核心思路是把绘制逻辑和滚动容器解耦,只暴露“指示器宽度”和“滚动比例”两个输入。文中同时给出 `RecyclerView`、`HorizontalScrollView`、`ViewPager2` 三种联动方案,适合直接落地到实际项目。

Android 自定义 View 实战:打造一个跟随滑动的丝滑指示器