冷流热流 冷流 只有订阅者订阅时,才开始执行发射数据流的代码。并且冷流和订阅者只能是一对一的关系,当有多个不同的订阅者时,消息是重新完整发送的。也就是说对冷流而言,有多个订阅者的时候,他们各自的事件是独立的。 冷数据流,不消费则不生产数据,这一点与LiveData不同:LiveData的发送端并不依赖于接收端。 热流 无论有没有订阅者订阅,事件始终都会发生。当 热流有多个订阅者时,热流与订阅者们的关系是一 2024-04-06 其他语言 > kotlin
依赖注入内联函数 依赖注入框架什么是依赖注入?如果类a里有个类b的实例,则b是a的依赖,如果B 的赋值不是写死在了类或构造函数中,而是通过构造函数或其他函数的参数传入,这种赋值方式我们称之为依赖注入。依赖注入的实现有多种途径,而在 Java 中,使用注解是最常用的。通过在字段的声明前添加 @Inject 注解进行标记,来实现依赖对象的自动注入。如果只是写了一个 @Inject 注解,Father 并不会被自动注入。 2024-04-06 其他语言 > kotlin
kotlin、Lambda kmm跨平台Kotlin 多平台 · Kotlin 官方文档 中文版 kotlin构造器 https://rengwuxian.com/kotlin-basic-3/ https://juejin.cn/post/6844903872016678919 我们项目中还有根据判断条件设置View显隐的逻辑,针对这个再封装下: 12345678910111213141516fun View.hide() 2024-04-06 其他语言 > kotlin
Kotlin 协程总结 协程概念协程就是一个线程。协程原理:https://juejin.cn/post/7212311942613385253#heading-15 速通协程,一步到位! 协程就像非常轻量级的线程。线程是由系统调度的,线程切换或线程阻塞的开销都比较大。而协程依赖于线程,但是协程挂起时不需要阻塞线程,几乎是无代价的,协程是由开发者控制的。所以协程也像用户态的线程,非常轻量级,一个线程中可以创建任意个协程。 2024-04-06 其他语言 > kotlin
Jetpack Jetpack谷歌demoJetpack 是谷歌提供的一套库、工具和指南,可帮助我们构建高质量的 APP。遵循 Jetpack 可以简化代码。 Jetpack 核心组件介绍 [[LiveData、ViewModel]] DataBinding Lifecycles Paging:分页库组件, 能够自动化加载页面初始化和分页 (向前分页, 向后分页)数据。 CameraX: 强大的基于生命周期的相 2024-04-06 其他语言
Hilt Jetpack新成员,一篇文章带你玩转Hilt和依赖注入 - 掘金在多模块应用中使用 Hilt | Android 开发者 | Android Developers[[依赖注入内联函数]] 使用场景为什么我们要使用依赖注入呢?解耦。 我们程序里有些对象是全局共享的,比如线程池,或者 Retrofit 对象,这种东西我们通常会把它放在 Application 对象里,或者做成单例的 还有些 2024-04-06 其他语言 > kotlin
Flow学习 LiveData的不足LiveData结构简单,但是不够强大,它有以下不足 LiveData不支持线程切换,所有数据转换都将在主线程上完成,有时需要频繁更改线程,面对复杂数据流时处理起来比较麻烦 LiveData的操作符不够强大,在处理复杂数据流时有些捉襟见肘 LiveData 只能在主线程更新数据: 只能在主线程 setValue,即使 postValue 内部也是切换到主线程执行; Live 2024-04-06 其他语言 > kotlin
Compose 好处 Compose 编译后不是转化为原生的 Android 上的 View 去显示,而是依赖于平台的 Canvas ,在这点上和 Flutter 有点相似,简单地说可以理解为 Compose 是全新的一套 View 。 声明式 UI,通过对比可以看到 Kotin DSL 有诸多好处: 有着近似 XML 的结构化表现力 较少的字符串,更多的强类型,更安全 可提取 linearLayoutPara 2024-04-06 其他语言 > kotlin
flutter基础知识 优势使用flutter可以满足公司业务快速迭代,创造不少价值,flutter确实有一定优势,主要体现在这⼏个⽅⾯:1.跨平台:增加代码复用,降低开发成本2.性能:Flutter直接将Dart代码编译为本地代码运行,再调用skia绘图引擎代码,和原生一样,这就少了像reactnative和weex等先转为原声控件,再系统渲染的步骤3.热重载:修改完代码后 Ctrl+S 就能实时展现在真机界面上,不需 2024-04-06 其他语言 > flutter
Flutter上传Maven flutter aar 上传 Maven通过脚本支持了 Jenkins 上自动打包 Flutter,上传 Maven,修改版本号,一键自动化打包。 上传 Maven12345678910111213141516diff --git a/packages/flutter_tools/gradle/aar_init_script.gradle b/packages/flutter_tools/grad 2024-04-06 其他语言