最近预备搞个专栏,专门收拾引荐一些我现已阅览过的好文章,尽可能保证文章能给你带来技术上的提高,毕竟上引荐的文章不必定都符合咱们的口味、需求。方案每两周输出一篇文章,主要包括过去两周我所阅览的还不错的、给我带来协助的十篇文章,也期望能给你们带来协助。
这篇文章计算的是2022年11月28日—2022年12月11日期间阅览过的十篇精品文章,本来老早就计划开这个专栏来着。由于之前写的2022年12月12日—2022年12月25日Android精品文章一览,咱们伙的反应还不错:
就逐渐将之前阅览的文章也依照两周的方法补一补哈。
历史文章
2022年12月12日—2022年12月25日Android精品文章一览
一. Android自定义ViewGroup的布局,往往都是从流式布局开端
当时这篇文章是属于根本解说的,还有作者写的另一篇进阶的实战文章:Android自定义ViewGroup布局进阶,完好的九宫格完成.
自定义ViewGroup最重要的就是重写并处理onMeasure()
和onLayout()
这个方法,这两篇文章别离经过事例的方法解说onMeasure()
和onLayout()
怎么运用,从实践中去学习知识,非常好的一种方法,并且文章也是很容易了解。
想要了解自定义ViewGroup的同学们必定不要错过这两篇文章,学会了,自定义ViewGroup的小根底咱们可就是打下了哈。
二. Android – 混杂 java-library 工程
众所周知,Android工程项目是能够被混杂的,不管是com.android.applicatio
仍是com.android.library
对应的库,创建后都能够在buildTypes{}
中确定是否能够敞开混杂的,并且还会生成proguard-rules.pro
装备文件。
但是关于java-library
工程默认就没有供给混杂装备,所以这篇文章就能够带你入门如安在java-library
装备混杂,并且还很交心的在文章的结尾给了完好代码的完成,咱们有需求的能够去看下这篇文章。
三. 这10张图拿去,别再说学不会RecyclerView的缓存复用机制了!
RecyclerView
最为优异的一个规划就是其缓存机制,经过收回-复用等机制极大提高咱们列表的烘托功能。所以了解其缓存完成原理,不只仅能加深咱们对RecyclerView
全体的了解,更能经过了解的缓存机制知道该怎么正确运用RecyclerView、怎么正确运用RecyclerView.Adapter等等,提高代码质量的一起,使得列表的加载功能愈加优异,列表显示滑动愈加流畅。
这篇文章不只给你剖析缓存相关源码,还经过非常生动形象的图片展示缓存源码怎么进行作业的,建议咱们必定要去看一看,毕竟RecyclerView
是个高频运用的组件,原理仍是要有必定的了解的。
四. Kotlin Flow 背压和线程切换竟然如此类似
这篇文章主要是解说flow背压的,首先带你了解什么是背压、背压一般的处理方法,最终直接经过一个处理背压的官方库实践事例:flow.buffer()
进行原理剖析,一步步的带你去知道、了解、掌握这个所谓的背压。
背压我是早就知道了,而读完这篇文章最大的收成就是flow.buffer()
的作业原理了解清楚了,触类旁通,flowOn()
线程切换的原理也同样了解了,作者对这块源码的剖析仍是很到位的。
请注意,这篇文章剖析的源码想要看的明白,需求咱们对Channel
有一个根本的了解。
五. Kotlin协程之一文看懂Channel管道
前面Channel
如果没了解的同学,看完这篇文章你就懂了。
作者关于Channel
的常见的几种运用方法进行了根本的介绍,一起关于Channel
的几种构造类型进行了剖析,涉及到部分源码剖析,但不多,点到即止,不会让你感觉枯燥。
Channel
也是flow
重要的组成部分之一,了解其关于了解flow全体的源码有着非常重要的效果,建议咱们去看一看。
六. 浅显易懂 Compose Compiler(4) 智能重组与 $changed 参数
重组是Compose中非常关键的重要的一个操作,关乎着运用的功能,触发的太频繁的肯定是不太好的,而重组是否触发和涉及到运用参数的类型稳定性有着重要的关联,不稳定必定就会触发重组。
这篇文章从源码的角度带你深入剖析,编译器是怎么智能判别是否需求重组的,经过阅览文章,你将对Compose重组的概念了解的愈加透彻,一起协助你写出更高质量的代码,削减不必要重组的产生。
我一开端学习Compose时,关于重组的概念看官方文档也是没有看懂,直到看了作者写的一系列compose重组相关的文章之后,才明白什么是稳定类型、@Stable注解怎么运用、怎么尽量防止不必要的重组等等,强烈引荐咱们阅览的好文。
七. 【Gradle-5】Gradle常用命令与参数
这篇文章主要是介绍了Gradle常见的命令运用,比方常见查看依赖、装置/卸载运用等等。最后面讲了怎么经过gradle
动态参数的一个知识,这个在咱们日常开发中也是非常有用的。
比方在打包脚本中,咱们能够根据当时所在的出产环境决定打出是debug
、release
或许其他类型的包,而如果咱们的项目也想要知道当时的出产环境,那咱们就能够在这个打包脚本中,经过gradle assembleXXX -Pxxx=xxx
的方法将环境参数传给咱们的项目进行运用,具体的运用概况能够阅览下文章即可。
八. 为什么计算机中的负数要用补码表明?
这个老哥上个月非常的高产,并且所写的文章也是质量很高的,这儿拿出其中最近阅览的一篇好文共享给咱们。
这篇文章具体介绍了什么是补码、补码的转化以及补码被规划的含义,尤其是文章后面对补码规划的原理进行了一番具体的剖析,逻辑清晰又有条理,相信你仔细好好的阅览完这篇文章后,有种茅塞顿开的感觉,关于补码的了解将会更上一个层面。
我最大的收成就是了解了补码被规划的原理以及发挥的效果,真的非常感谢作者的共享。
九. 每次调试打印日志都很头痛
这篇文章的作者也是非常优异的,在输出了一大批好文章,特别是关于kotlin知识的解说、RecyclerView源码的剖析非常的精彩,我Kotlin当初入口根本上就是看的作者写的文章。
当时这篇文章给咱们共享了以愈加高雅的方法去打印调集日志,涉及到了Kotlin的反射相关知识点,关于kotlin常见的语法也会穿插在文章中进行解说的,关于读者而言,非常的友爱,不用太过于文章阅览门槛很高,作者的其他文章也都是如此。
十. 从源码里的一个注释,我追溯到了12年前,有点意思。
这篇文章主要针关于HashMap
源码中的一个语法点成员变量赋值给局部变量
进行了一个剖析评论,这个是大神Doug Lea
经常运用的一种极限编码技巧。
作者首先经过几组对照比如,带咱们从字节码的角度去剖析这些写有什么好处,最后面引用了许多大佬对这个编程技巧的观念,看着不同的思维火花产生磕碰,文章阅览起来丝毫不觉得无聊,反而非常的风趣。
文章看起来内容比较长,但实践的主题只有一个,都是针关于这个展开剖析,并且通俗易懂,阅览起来没有任何妨碍,最后面围观各个大佬们的观念,蛮有意思的。
总结
感觉最近某些文章刷赞刷的非常凶猛,很明显的文章,先不说内容怎么,就这刷赞的速度是真的快,所以感觉自己推出这个专栏越来越有必要的,期望能给咱们避避坑,节省时间多阅览写好文章。