跳转至

Android 性能优化技术月报 | 2025 年 4 月

每个月都会有一些 Android 性能优化相关的优质内容发布,然而,碎片化阅读使得这些知识难以形成完整体系,且容易被遗忘。为解决这些问题,我决定尝试使用技术月报的形式,总结我在最近一个月内查阅的 Android 性能优化相关的优质内容。

月报的主要内容包括:整理展示我在最近一个月所查阅的 Android 性能优化领域的最新技术动态、精选博客,精选视频等内容。

精选博客

《网络是怎样连接的》

本书以探索之旅的形式,从在浏览器中输入网址开始,一路追踪了到显示出网页的内容为止的整个过程,以图配文,讲解了网络的全貌,并重点介绍了实际的网络设备和软件是如何工作的。目的是帮助读者理解网络的本质意义,理解实际的设备和软件,进而熟练运用网络技术。

同时,专设了“网络术语其实很简单”专栏,以对话的形式介绍了一些网络术语的词源,颇为生动有趣。本书图文并茂,通俗易懂,非常适合计算机、网络爱好者及相关从业人员阅读。

小红书鸿蒙 OS 下的性能优化探索与实践

  • 性能优化指标与实践:小红书与华为共同确定性能指标场景,核心是慢函数指标,包括过程时长(冷启动时长、场景完成时长、应用响应时长)和流畅性(平均 FPS、丢帧数等)。针对 IO 场景,鸿蒙 OS 提供并行化能力(Worker 和 TaskPool)、多线程通信和数据传输、同步转异步机制。小红书在网络请求、埋点、图片资源预加载等场景实现并行化处理,还通过模块懒加载和动态组件复用池优化冷启动和首刷场景。
  • 性能热点问题及定位:开发中常见性能热点如 LadyForEach 组件未指定 key、空回调函数积累、未用 TaskPool 处理网络资源等,这些大多通过 Code Linter 检测。但目前华为的 Code Linter 不能与 Git Prehook 关联,本地代码提交需手动运行脚本检查,小红书正在催促华为解决。
  • 性能分析与测试工具:传统主观工具如录屏可用于鸿蒙 OS 性能分析,评估冷启动和转场性能。IDE Profiler 能分析慢函数,查看 ArkTS 和 NAPI 的堆栈层级。DevEco Testing 功能全面,支持性能测试及多种测试场景,可生成报告,但场景定义缺乏脚本化能力,未来期望实现脚本化配置以提高测试效率。
  • 性能优化收益与展望:优化后在实验室环境下,冷启动时间降低 50%,响应时延低于 100 毫秒,多场景和重载场景实现 0 丢帧,核心场景与双端对齐。未来希望实现全场景组件复用、探索合适的代码延迟加载方式、关注防劣化问题,借助现有工具和机制在开发阶段定义劣化指标防止应用性能下降。

字节跳动 Android 客户端可观测建设实践

在客户端产品日益复杂的背景下,如何全面监控客户端用户体验,实现对异常场景的有效归因,并全面提升用户体验,是客户端可观测性面临的主要挑战。本次分享将介绍字节跳动在 Android 客户端可观测性建设中的最佳实践,包括如何从用户体验出发确定关键指标和优先级,探讨不同性能监控的底层实现逻辑,并分享一些实际的异常优化案例及其具体效果。


最后更新: April 26, 2025