Kotlin
文章平均质量分 75
Tom4i
智能座舱系统应用开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Kotlin 中的 inline 和 reified 关键字
在 Kotlin 里,inline 和 reified 经常成对出现,但它们各自解决的问题并不一样。下面把两个关键字拆开讲,再给出它们“合体”时的典型用法。Kotlin 的高阶函数(参数里带 lambda)会被编译成对象。原地展开(copy-paste),彻底消除上述开销。被直接硬编码在调用处,因此运行期可以安全强转。也写进字节码里,于是运行时就能拿到。具体是什么,因而无法安全转换。反编译结果里只剩下一行。和计时代码,没有任何。reified 做了什么。inline 做了什么。原创 2025-11-13 09:48:21 · 275 阅读 · 0 评论 -
Android 使用使用 flow 来实现一次性事件的最佳实践
本文介绍了在Android开发中处理一次性事件(如按钮点击、条目删除等)的最佳实践方案。一次性事件与StateFlow不同,它们不需要缓存且触发后应仅消费一次。文章按照安全性和易用性排序,推荐了三种主要方法: Channel方案(官方推荐): 使用Kotlin的Channel组件实现一对一事件发送/接收 无缓存特性可避免页面重建后重复执行 需配合repeatOnLifecycle实现生命周期安全 EventWrapper封装方案: 通过包装类标记事件消费状态 适合已使用StateFlow但需处理一次性事件的原创 2025-09-09 16:32:22 · 1102 阅读 · 0 评论 -
Android Activity 中收集 StateFlow 的最佳实践
本文介绍了在Android Activity中安全收集StateFlow的最佳实践,重点包括:1)使用lifecycleScope和repeatOnLifecycle实现生命周期感知的收集;2)合理选择collect或collectLatest运算符;3)自动线程切换机制;4)与ViewModel的配合使用。文章提供了完整代码示例,强调在正确生命周期阶段收集数据、避免内存泄漏和资源浪费,并对比了StateFlow与LiveData的适用场景。这些实践能确保UI数据流的高效管理和性能优化。原创 2025-09-03 19:31:14 · 467 阅读 · 0 评论
分享