第一章:难逃的墨菲定律

本故事纯属虚构,如有雷同,纯属巧合

经过一个多月的奋战,The One 项目已接近尾声,离月底灰度大概还有半个月的时间,大家都在紧张的准备着这个大版本,希望不要出什么幺蛾子,中午刚吃完午饭回来,项目群里有人叫起来:“Jenkins 打不出包来了”,当时没太在意,平常构建失败的情况如家常便饭,何足道哉。没一会儿,群里接二连三的叫起来,有同学截了个屏,仔细一看原来是:

阅读全文

Booster v1.0.0 发布

Booster 又双叒叕发布了新的版本—— v1.0.0(一改原来 0.x.x 的版本命名,以表示对新年的庆祝),此次更新的内容也是相当的给力:

  1. 优化 transform 处理过程,性能提升 50%

阅读全文

深入理解 Booster 架构

本来没打算写这篇文章,毕竟项目工程规模并不复杂,网上也有很多分析 Booster 的文章,但大多都只是对工程的结构介绍一下,加上总有同学问起,索性详细的介绍一下。如果说 Booster 框架在设计上有什么亮点的话,大致罗列一下:

阅读全文

Booster v0.28.0 发布

v0.28.0 版本更新内容:

  1. 解决 transform 过程中个别 JAR 存在重复的 Zip Entry 导致编译失败的问题^1

阅读全文

Booster 2020 年规划

2019 年 4 月 23 日 Booster 正式开源,短短一半年不到的时间,star 数已经 2.3k 了,说实话,还真有点超出预期,也给自己无限的动力,不断的完善它,希望能真的能帮助大家解决实实在在的问题,而不是为了开源吸粉赚 star,无奈下半年忙着车载的业务,也只有周末的时候偶尔提交几个 commit 和处理志国提交的 PR,还得抽空写写 Booster 项目中的一些想法、实现思路和细节,如果多抽点时间来完善 Booster 的话,估计现在已经 3k 以上的 star 了。

阅读全文

在滴滴工作的那些年

在我的职业生涯中,目前为止,在滴滴的这段经历算是我最长的一段履历了,历时四年有余,终于还是选择了离开,回想起来,一切仿佛似昨天。尽管离开的比较坚决,但往昔的点点滴滴,历历在目,难免有些伤感,却未曾遗憾,能跟一群靠谱的小伙伴共事,也是人生一大幸事。

阅读全文

Booster Shared Preferences 优化

背景

booster v0.1.5 版本其实就已经提供了针对 SharedPreferences 的优化,只不过优化的幅度比较小,毕竟 SharedPreferences 在 Android 中应用得过于广泛,所以,对它的优化非常非常谨慎,以至于我们经过了线上好几个版本的验证,才推出最新的优化方案。

阅读全文

Booster 布局转译器

在上一篇文章中已经介绍过 booster 正在做的 Layout Transpiler —— 将 XML 布局文件翻译成 class 的转译器,在实现的过程中发现了 Android 系统在设计上的各种坑,而且是天坑,几乎是绕不过去了,最近 Android 官方发布了 JetPack Compose 让我眼前一亮,这不就是我想要达到的效果么,只不过是换了一种形式罢了。

阅读全文

布局:XML vs 代码

做过开发的同学都深有体会,用 XML 来撸 UI 的效率简直是吊打手写代码,在 Anko (Kotlin 库) 还没有流行之前,大家对 XML 还是亲睐有加,虽然性能上偶尔会有卡顿,但是总体来说,还是勉强能接受,但是 Anko 的流行,也让我们开始思考,有没有办法既能享受 XML 撸 UI 的快感,又能享受像 Anko 一样的性能呢?

阅读全文

Booster 为系统 bug 兜底

许多 Android 开发者可能经常遇到这样的情况:测试的时候好好的,一上线,各种系统的 crash 就报上来了,而且很多是偶现的,比如:

  • WindowManager$BadTokenException

阅读全文