首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
详解 Kotlin 性能以及实战技巧
程序员DHL
创建于2021-05-15
订阅专栏
详细分析 Kotlin 性能 以及在实战中 Kotlin 的技巧,避免产生不必要的开销
等 109 人订阅
共35篇文章
创建于2021-05-15
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Kotlin 中的密封类 优于 带标签的类
主要从类层次结构来讨论一下 Sealed Classes(密封类) 和 Tagged Classes(标记类)的优缺点
竟然如此简单,DataBinding 和 ViewBinding
首先祝小伙伴们新年快乐,2020 一个不平凡的一年,2021 是你我新的起点。 2021 新签名:代码不止,文章不停。 2021 第一篇文章是对 2020 年末最后一篇文章 Kotlin 插件的落幕,ViewBinding 的崛起 的一个补充。 在之前的文章 Kotlin 插件…
Kotlin 插件的落幕,ViewBinding 的崛起
...... 因此 ViewBinding 出现了,ViewBinding 解决了上述所有问题,ViewBinding 虽然好,但是也有它的不足之处。 ...... 效率低于 ViewBinding,因为注释处理器会影响数据绑定的构建时间。 ViewBinding 可以实现的,…
[译] Google 官方正解是否应该学习 Kotlin
这篇文章来自 Google 开发技术推广工程师 Florina Muntenescu 分享的一篇文章,在这篇文章里精选了 Google 宣布支持 Kotlin 以来,收到的最热门的几个问题,回答了是否应该学习 Kotlin、以及如何学习 Kotlin。全文分为 译文 和 译者思…
Kotlin StateFlow 搜索功能的实践 DB + NetWork
之前有很多朋友跟我反馈,如何使用 Flow 实现搜索功能,所以我在 PokemonGo 项目中增加了两种搜索场景,分别演示 BroadcastChannels 和 StateFlow 的用法。 在分析这两种实现方式之前,需要先了解几个基本概念, Flow 和 Channel 是…
Kotlin Sealed 是什么?为什么 Google 都用
在上一篇文章 Google 推荐在项目中使用 Sealed 和 RemoteMediator 中介绍了如何使用 Sealed Classes 在 Flow 基础上对网络请求成功和失败进行处理,而这篇文章是对 Sealed Classes 更加深入的解析,结合函数式编程功能很强大…
[译]你中招了吗? Kotlin 一个隐藏的问题
之前我发表过几篇关于 Kotlin 性能损耗和 Kotlin 技巧方面的文章,如果没有了解过,可以点击下方链接前去查看,可以避免在实际开发中遇到重复的问题。 这篇文章主要来分析 Kotlin 另外一个隐藏的问题,文章将会分为 译文 和 译者思考 两部分,本文不仅仅是翻译,在 译…
Google 推荐在项目中使用 sealed 和 RemoteMediator
在开始阅读本文之前,建议更新 PokemonGo 最新的代码,对照着代码一起看,为了节省篇幅,文中只会列出核心代码。 之前有小伙们问过我,如何在 Flow 基础上封装成功或者失败处理逻辑,关于这个问题,其实 Google Android 团队的工程师在 medium 上发表过一…
Google 推荐在 MVVM 架构中使用 Kotlin Flow
直到我打开 Android 架构组件 页面,看了在页面上增加了最新的文章,这几篇文章大概的内容是说如何在 MVVM 中使用 Flow 以及如何与 LiveData 一起使用,当我看完并通过实践之后大概明白了,LiveData 是一个生命周期感知组件,它并不属于 Reposito…
为数不多的人知道的 Kotlin 技巧以及 原理解析(二)
之前分享过一篇文章 为数不多的人知道的 Kotlin 技巧以及 原理解析 主要分析了一些让人傻傻分不清楚的操作符的原理。 这篇文章主要分析一些常见问题的解决方案,如果使用不当会对 性能 和 内存 造成的那些影响以及如何规避这些问题,文章中涉及的案例来自 Kotlin 官方、St…
全方面分析 Hilt 和 Koin 性能
Koin、Dagger、Hilt 目前都是非常流行的库,面对这么多层出不穷的新技术,我们该做如何选择,是一直困扰我们的一个问题,之前我分析过 Koin 和 Dagger 的性能对比,Hilt 与 Dagger 的不同之处,可以点击下方链接前往查看。 这是 Hilt 系列的第四篇…
为数不多的人知道的 Kotlin 技巧以及 原理解析
Google 引入 Kotlin 的目的就是为了让 Android 开发更加方便,自从官宣 Kotlin 成为了 Android 开发的首选语言之后,已经有越来越多的人开始使用 Kotlin。 结合着 Kotlin 的高级函数的特性可以让代码可读性更强,更加简洁,但是呢简洁的背…
[译][5k+] Kotlin 的性能优化那些事
这篇文章应该可以说是 [译][2.4K Start] 放弃 Dagger 拥抱 Koin 文章的续集,在 “放弃 Dagger 拥抱 Koin” 文章中介绍了过渡使用 Inline 修饰符所带来的后果,以及 Koin 团队在为修复 1x 版本所做的性能优化,这边文章将继续学习如…
[译][2.4K Star] 放弃 Dagger 拥抱 Koin
作者这篇文章到目前为止已经收到了 2.4k+ 的赞,冲上了 Medium 热门,非常好的一篇文章,我也使用 Koin + kotlin + databinding 结合着 inline、reified 强大的特性封装了基础库,包含了 DataBindingActivity、Da…
如何在项目中封装 Kotlin + Android Databinding
构造方法传入了 Model.CALLBACK,Model.CALLBACK 实现了 DiffUtil.ItemCallback,用于计算 list 的两个非空 item 的不同。具体要写两个抽象方法 areItemsTheSame 和 areContentsTheSame 致力…