稀有猿诉

十年磨一剑,历炼出锋芒,说话千百句,不如码二行。

突破速度障碍:非阻塞启动画面如何将Android 应用启动时间缩短90%

本文译自「Breaking the Speed Barrier: How Non-Blocking Splash Screens Cut Android App Launch Time by 90%」,原文链接https://sankalpchauhan.com/breaking-the-speed-barrier-how-non-blocking-splash-screens-cut-android-app-launch-time-by-90,由Sankalp Chauhan发布于2025年9月28日。

概述

正值佳节期间,我们在每个应用上都能看到精美的启动画面和自定义徽标。在开发这些应用时,每个 Android 开发者都会面临启动画面的困境:用户期望获得美观且品牌化的启动体验,但 Google 原生的启动画面 API 却存在明显的局限性。创建自定义 SplashActivity 的常见解决方案看似合理,但却会引入隐藏的性能损失,导致应用运行缓慢且响应迟钝。

Android ViewModel数据加载:基于Flow架构的最佳实践

本文译自「Android ViewModel Data Loading: Best Practices and Flow-Based Architecture」,原文链接https://funkymuse.dev/posts/properly-load-data/,由FunkyMuse于2025年8月29日。

Android 开发中的架构讨论经常引发激烈的争论——有时褒贬不一。撰写这些主题的文章并不容易,但这正是它的价值所在。

本文阐述了我对数据加载模式的独到见解,这些见解源于我的经验以及近期手术后的恢复(其中一次手术仍在进行中)。

不妨将此视为我在 2025 年对数据加载模式的理解和技能的概述。

我可能比其他人更晚加入这场讨论,但迟做总比不做好。

挑战:Android ViewModel 中常见的数据加载反模式

“大多数”Android 开发者使用 ViewModel 来管理 UI 状态,这些状态由视图(Fragment、Activity 或可组合组件)收集。为了显示有意义的内容,你需要从真实数据源加载数据,将其转换为视图状态,然后公开以供使用。

以前是 LiveData,现在是 Flow,它充当视图和 ViewModel 之间的粘合剂(大多数情况下)。有一些解决方案使用 molecule,但这超出了我们的讨论范围。