前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >好文分享第 1 期

好文分享第 1 期

作者头像
路遥TM
发布2021-08-31 15:08:44
3880
发布2021-08-31 15:08:44
举报
文章被收录于专栏:路遥的专栏

大家好,我是秉心说。

这里是不定期更新的 好文分享,记录最近我读过的值得分享的文章。

微信不支持外链,点击文末 “阅读原文” 查看。

1. Zero-cost* abstractions in Kotlin

来自 Medium 上 Android Developers 团队。

介绍了 Kotlin 1.3 开始可用但仍处于 Experimental 状态的新特性 内联类 。内联类只有一个属性,一般是基本数据类型。和内联方法一样,经过编译器的黑魔法之后,内联类的值会被直接替换到调用处。

代码语言:javascript
复制
inlineclassDoggoId(val id: Long)
dataclassDoggo(val id: DoggoId, … )
// usageval goodDoggo = Doggo(DoggoId(doggoId), …)
funpet(id: DoggoId) { … }

这是一个 Kotlin Vocabulary 系列的文章,除此之后还介绍了 typelias 、sealed classes 等等。

2. Database relations with Room

仍然是来自 Google Developers 的一篇文章,介绍了在 Room 数据库框架中,如何使用 @Relation 注解处理 一对一,一对多,多对多 关系。这一特性是在 Room 2.2 中支持的。

我也翻译了这篇文章 :[译] 如何用 Room 处理一对一,一对多,多对多关系?

3. Use view binding to replace findViewById

同样来自 Google Developers ,介绍了随着 Android Studio 3.6 正是发布的 View Binding 。简单介绍了使用方法,并与 ButterKnife 和 Kotlin synthetics 做了对比。

至于到底应该使用哪个,仁者见仁智者见智了。我个人还是喜欢 Kotlin synthetics 。

4. AsyncTask is Deprecated, Now What?

挺喜欢的一位作者,对很多技术有自己独特的见解。

在 AOSP 的一次 commit 当中,官方提出了对 AsyncTask 的不满,容易造成内存泄露。作者首先反驳了并不是 AsyncTask 容易造成泄露,而是开发者对异步框架的使用不当。随后也给出了应该废弃 AsyncTask 的几点理由。

5. 原创 | Java堆内存是线程共享的!面试官:你确定吗?

来自 Hollis 的一篇公众号推文。

1、堆是线程共享的内存区域,栈是线程独享的内存区域。 2、堆中主要存放对象实例,栈中主要存放各种基本数据类型、对象的引用。

作者认为这两句话并不完全正确。如果你对此持有相反意见,不妨阅读这篇文章。

好文分享系列同步更新在 秉心说的技术博客 和我的公众号 秉心说TM ,欢迎扫码关注。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 路遥TM 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Zero-cost* abstractions in Kotlin
  • 2. Database relations with Room
  • 3. Use view binding to replace findViewById
  • 4. AsyncTask is Deprecated, Now What?
  • 5. 原创 | Java堆内存是线程共享的!面试官:你确定吗?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档