本文译自Draw sleep timeline graph in Compose,原文由Viktor Mykhailiv发布于2025年1月31日。
译者按: 我们在前面的降Compose十八掌系列中讲解过在Compose自定义绘制的方法,可以先温习一下上一篇文章。这篇文章是提升自定义绘制技巧的一个非常好的实战例子。
本文译自Draw sleep timeline graph in Compose,原文由Viktor Mykhailiv发布于2025年1月31日。
译者按: 我们在前面的降Compose十八掌系列中讲解过在Compose自定义绘制的方法,可以先温习一下上一篇文章。这篇文章是提升自定义绘制技巧的一个非常好的实战例子。
本文译自Designing Effective UI Components in Jetpack Compose,原文作者是Jaewoong Eum,原文发布于2025年2月7日。
译者按: 本文适合有一定Jetpack Compose经验的开发者阅读,假定读者熟悉Jetpack Compose的基本使用方法,以及熟悉常见 的Slot设计模式。否则理解上可能会有一些困难。
Tarjan算法是用于寻找图中强连通组件的高效算法。通常叫做「割点」或者「割边」,也叫做桥,也就是说如果去掉了某个节点,或者某条边,图中的连通分量数量会增加,那么这样的节点就是割点,这样的边就是桥。
比如说,下面这个图中的节点2就是一个「割点」:
本文译自10 reasons to NOT use Jetpack Compose,原文发布于2024年9月24日。
译者按: 软件开发行业从不缺少优秀的工具,当然也没有银弹。身为开发者要学会选择合适的工具,避免出现手里拿着锤子,看什么都是钉子。那么就需要搞清楚两个事情,一个是面临的到底是什么样的问题,以及每种工具它的合适场景是什么。没有对与错,只有合适不合适。这篇文章就是帮助大家更清晰地了解到Jetpack Compose适用的场景,帮助Android开发者做出最合适的选择。
Jetpack Compose 是一款出色的 UI 工具包,受到 Android 社区的热烈欢迎。它提供了一种为你的 Android 应用构建令人愉悦的 UI 的现代方式。
本文译自Understanding Memory Leaks in Android & How LeakCanary Can Help,原文发布于2024年12月27日。
译者注: 关于内存优化,笔者也曾经写过两篇文章,侧重于内存问题的深入分析,如有兴趣可以作为拓展阅读:让你不再惧怕内存优化和Android应用性能剖析全攻略。
本文译自When to Use Retrofit and When to Use Ktor: A Guide for Android Developers
作为 Android 开发人员,为你的项目选择正确的 HTTP 客户端是一项关键的决定。当今最受欢迎的两个选项莫过于 Retrofit 和 Ktor。虽然Retrofit 多年来一直是事实上的标准,但 Ktor 因其现代架构和灵活性而势头强劲。
本文译自OkHttp’s Gzip Compression,原文发布于2020年5月1日。本文假定读者对HTTP有基本的了解,以及使用过OkHttp,否则理解起来可能会一点困难。
译注: OkHttp确实会自动添加gzip并处理响应。但如果显示的给请求添加除了gzip之外的字段,如”Accept-Encoding: gzip, deflate, br”,那么就需要手动处理响应。其实一般时候我们并不需要手动设置,除非是模拟浏览器时(比如用了浏览器的UA),或者某些服务器强制deflate字段。更多的信息可以看这里。
本文译自《DiffUtils, Myers’ Algorithm and Jetpack Compose》,原文发布于2024年12月27日。
在 Android UI 开发领域,DiffUtils 是优化 RecyclerView 中列表更新的必备工具。DiffUtils 是一个实用程序类,它计算将一个列表转换为另一个列表所需的最小更改,并仅更新 UI 中已更改的部分,从而节省性能并减少不必要的重绘。这个强大的工具依赖于Myers算法,这是一种在两个序列之间找到最短编辑脚本(Shortest edit script)的有效方法。
译注: 这篇文章虽然比较短,但提到的问题还是比较具体和典型的,针对CMP项目的一些配置还是很有借鉴意义的。
2025年的Android新版本来的比2024年稍早了一些。今年Google非常反常地提前就发布了Android的新版本Android 16 Baklava,整体的计划比往年提前了2~3个月。另外,谷歌把Android 16的代码命名为「Baklava」,这与先前的字母表顺序的点心食物命名方式截然不同,不过「Baklava」巴克拉瓦,又称果仁蜜饼,是一种口味浓郁、甜蜜的土耳其酥皮点心。