kotlin

plainGeekDev3 小时前
android·java·kotlin
文件读写(Java IO)→ Kotlin 扩展函数try-catch-finally 嵌套层层叠叠,实际有用的就两行读写代码,其余全是样板。每次忘记 close 就有泄漏风险,IDE 不一定能检查出来。
消失的旧时光-19437 小时前
android·kotlin·协程·协程异常
Kotlin 协程设计思想(九):Flow 到底是什么?为什么 suspend 函数还需要 Flow?—— 从 suspend、Sequence 到 Cold Flow,彻底讲透 Kotlin Flow 的设计哲学
消失的旧时光-19437 小时前
android·kotlin·suspend·continuation
Kotlin 协程设计思想(八):suspend 到底是什么?为什么 suspend 不是开启协程?—— 从 Continuation、状态机到协程恢复机制,彻底讲透 Kotlin 协程真正的底层原理前面几篇
plainGeekDev7 小时前
android·java·kotlin
Cursor 操作 → Room DAOgetColumnIndex 依赖字符串,字段名写错返回 -1,然后 getString(-1) 直接崩。每个查询都要手动遍历 Cursor、手动 close(),忘关就泄漏。LIMIT ? OFFSET ? 这种 SQL 拼接容易出错且可读性差。
plainGeekDev7 小时前
android·java·kotlin
SharedPreferences → DataStoreapply() 是异步写入但无返回值,写没写成功不知道。主线程读取 getString 可能触发磁盘 IO,卡 UI。不支持存储非基本类型,存个对象要先 JSON 序列化。多进程场景下数据不可靠。
朝星7 小时前
android·kotlin
Android开发[10]:性能优化之内存今日目标卡顿是主线程阻塞导致,长期严重卡顿会触发ANR,影响用户体验,是线上App质量考核的核心指标。
brycegao3218 小时前
android·kotlin·架构设计·mvi·viewmodel
Android MVI进阶:纯原生实现Slot化可插拔架构简介:纯原生 Kotlin 乐高式 MVI 架构,根治事件重放、基类膨胀、跨通信不安全三大线上问题,支持增量迁移,金融 App 生产级落地方案。
Kapaseker9 小时前
android·kotlin
你遇到过 Kotlin 协程中的竞争问题吗?前几天同事找我吐槽,说 Kotlin 协程也有竞争问题。他一直以为协程把线程安全的问题都解决了,毕竟官方文档没有着重讲,只是一个小章节讲述了一下。
AsiaLYF9 小时前
开发语言·前端·kotlin
Kotlin MutableSharedFlow: emit vs tryEmit 详解一、核心区别二、emit 详细说明工作原理:三、tryEmit 详细说明工作原理:四、tryEmit 成功条件 tryEmit 在以下情况返回 true:
我命由我123459 小时前
android·java·开发语言·java-ee·kotlin·android jetpack·android runtime
Kotlin 开发 - Kotlin 反引号转义关键字
黄林晴1 天前
android·kotlin
Kotlin 2.4.0 正式稳定!Android 升级、Compose、KMP 全变化详解前几天,JetBrains 发布 Kotlin 2.4.0 稳定版。这次更新里针对Android开发者主要有:语言特性转正、标准库补 API、Gradle/AGP 版本边界、Compose compiler 的增量编译变化。除此之外,KMP、Wasm、JS 也有不少内容。
Kapaseker1 天前
android·kotlin
Kotlin 相等的奥义各位 Kotlin 吴彦祖,今天周一,我们探讨一下比较简单的话题 —— 相等。在 Kotlin 中,相等性比较分为两种方式:结构相等和引用相等。掌握这两者的差异能够帮助屏幕前的你更好地理解对象的比较机制。
JohnnyDeng941 天前
android·kotlin·livedata·flow
【Android】Flow vs LiveData:选型指南与迁移实践> 一句话收益:彻底搞清 Flow 和 LiveData 的本质差异,避免在错误场景下选错工具,掌握从 LiveData 平滑迁移到 StateFlow/SharedFlow 的完整路径。
plainGeekDev1 天前
android·java·kotlin
线程安全集合 → 协程安全替代Collections.synchronizedList 只保护单个方法调用,遍历时仍需要手动 synchronized 块,容易漏加导致并发异常。ConcurrentHashMap 粒度细但 API 复杂。BlockingQueue 阻塞的是线程,在协程中直接阻塞线程会浪费线程资源。
zhangphil1 天前
android·kotlin
Kotlin管道Channel构造函数参数capacity值RENDEZVOUS与UNLIMITED摘要:Kotlin协程中的Channel构造函数参数capacity默认为RENDEZVOUS(0),而非UNLIMITED(Int.MAX_VALUE),这是重要的设计差异。RENDEZVOUS表示无缓冲通道,发送和接收必须同步完成,否则会挂起,形成天然背压机制;而UNLIMITED允许无限缓存数据,可能导致内存问题。开发者通常应优先使用默认RENDEZVOUS或有限容量通道,仅在明确数据量可控且需要避免发送方挂起时才考虑UNLIMITED。本文详细比较了两者在send/receive行为、背压机制、内
plainGeekDev1 天前
android·java·kotlin
Timer → CoroutinesTimer 用单个后台线程执行所有任务,一个 TimerTask 抛异常整个 Timer 直接挂掉,其他排队的任务全部作废。而且 Timer 不感知 Android 生命周期,忘记 cancel 会导致后台任务持续运行消耗电量。
Coffeeee1 天前
android·google·kotlin
Android17应用内存限制--App:我人不舒服,系统:那你走吧不知道各位有没有听过下面这种类似的段子而当我今天打开许久没看的Android开发者文档后,吓了一跳,谷歌又整新活儿了,Android17出了一个应用内存限制的新特性,越看越觉得Android17的手机应用里面,也出了不少“00后”
AI浩1 天前
android·开发语言·kotlin
【数据处理】基于 SAM3 的 LabelMe 标注统一校正方法在车辆检测数据集中,人工标注框常见的问题包括框过大、框过小、车辆边界不贴合、不同标注人员尺度不一致等。这些问题会直接影响检测模型训练的收敛速度和边界框回归质量。文章的核心思想是:以人工 LabelMe 矩形框为先验,用 SAM3 在局部扩展区域内重新感知车辆实例,再通过置信度和 IoU 门控决定是否采用 SAM3 修正框,从而在保留人工标注稳定性的同时,提高标注尺度的一致性。
zfoo-framework1 天前
kotlin
[kotlin项目中使用luban配置] 1.java + kotlin共存1)新建一个kt_json的项目2)把java_json下的gen.bat复制到项目下,修改好导出json和代码的目录