Android Performance

Android Weekly 2025 07 期

Word count: 5.8kReading time: 20 min
2025/02/16
loading

Android Weekly 是一份专注于 Android 技术生态的周刊,每周一更新。本周刊深入挖掘 Android 系统架构、性能优化、跨平台开发、AI 等领域的高质量技术内容,为开发者提供持续的知识更新与技术洞察。

订阅渠道:[微信公众号] | [知乎专栏] | [掘金] | [竹白] | [RSS]

技术文章

  1. Linux 丨进程僵尸态的实战成因: 文章主要介绍了 Linux 中进程僵尸态的实战成因。一是子进程主线程已退出但有线程卡在 D 态无法退出,导致父进程收不到 SIGCHLD 信号。二是父进程采用 signalfd 处理 SIGCHLD 信号却卡在其他 epoll 事件处理函数中,无法及时处理回收子进程。最后还提及对 AI 与学习方式的观点。
  2. 以控制论视角设计移动 OS 中的内存回收策略: 本文从控制论的角度探讨了移动操作系统中内存回收策略的设计方法,提出通过闭环反馈控制(如 PID 控制器)优化内存管理。文章详细分析了如何利用采样、控制器算法及不同内存回收手段来实现高效、响应迅速的内存回收机制,并强调了设计简化和可扩展性的重要性。
  3. kotlin-weekly-446: kotlin weekly 446 期
  4. 技术人核心竞争力:超越代码的思考: 本文探讨了软件开发人员在编码之外需要关注的思考和原则,包括如何超越需求、流程、协作、管理以及代码本身,从而提升团队效率和产品质量。对于软件开发人员而言,编码无疑是核心技能,自然也是投入时间和精力最多的领域。然而,在实际的业务研发过程中,需求的多变性、团队的紧密协作、用户的即时反馈、现网的故障排查、频繁的会议沟通以及历史负债的累积等因素,往往使得开发工作变得复杂而充满挑战。在这种背景下,开发人员可能会在“夹缝中开发,焦虑中编码”,尤其是在团队和业务规模不断扩大的时候。
  5. ANR 详细对比分析安卓 13 VS 安卓 10: 文章详细对比分析了 Android 13 和 Android 10 在处理触摸事件时的 ANR(应用无响应)机制的源码差异,重点介绍了两种系统中 ANR 的检测和处理流程,并通过代码和流程图展示了具体实现细节。文章还深入探讨了 ANR 的判断逻辑、触发条件以及从 Native 层到 Java 层的处理过程。
  6. 淘宝订单列表 Fragment 转场动画卡顿解决方案: 如何应对产品形态与产品节奏相对确定情况下转变为『在业务需求与产品形态高度不确定性的情况下,如何实现业务交付时间与交付质量的确定性』。我们希望通过混合架构(Native 业务容器 + Weex 2.0)作为未来交易终端架构的重要演进方向,在 Native 容器侧充分发挥原生语言的性能优势、常驻 App 的调控与管控能力、手势识别与交互优势来解决体验问题。本专题《淘宝交易终端架构探索》是我们摸索出的部分实践总结,欢迎大家一起交流进步。
  7. 淘宝页面首帧优化的经验和心得: 文章分享了淘宝移动端页面首帧优化的经验和心得,从优化的必要性、衡量标准、性能问题分析到具体优化策略,详细阐述了如何提升用户体验并降低成本,同时提出了防止性能劣化的机制和持续迭代的重要性。
  8. 淘宝 App 交易链路终端混合场景体验探索: 如何应对产品形态与产品节奏相对确定情况下转变为『在业务需求与产品形态高度不确定性的情况下,如何实现业务交付时间与交付质量的确定性』。我们希望通过混合架构(Native 业务容器 + Weex 2.0)作为未来交易终端架构的重要演进方向,在 Native 容器侧充分发挥原生语言的性能优势、常驻 App 的调控与管控能力、手势识别与交互优势来解决体验问题。本专题《淘宝交易终端架构探索》是我们摸索出的部分实践总结,欢迎大家一起交流进步。
  9. Weex 购物车长列表横滑操作优化“编年史”: 文章回顾了 Weex 购物车在长列表横滑操作优化上的历程,从基础实现到细节提升,展示了团队如何通过不断迭代优化用户体验,并展望了未来的改进方向。
  10. 一句话说透 Android 里面的如何正确管理 Binder 对象的生命周期: 一篇文章深入探讨了如何正确管理 Android 中 Binder 对象的生命周期,避免内存泄漏和线程安全问题,同时提供了详细的代码示例和操作指南。
  11. 一文简单了解 Android View 绘制流程: 文章主要介绍了 Android View 的绘制流程,包括 Activity 中 View 的层次和职责,View 显示的流程,以及 View 绘制中 measure、layout、draw 的执行细节。如 measure 中测量模式和子 View 的 MeasureSpec 确定规则,layout 中 ViewGroup 与子 View 的布局递归调用,draw 的六个步骤等。
  12. 深入理解 Jetpack Lifecycle(原理篇): 文章深入分析了 Android Jetpack 的 Lifecycle 组件的原理,包括其核心成员 LifecycleOwner 、LifecycleObserver 、Lifecycle 及它们之间的关系,还探讨了 Activity、Fragment 如何实现 LifecycleOwner ,Lifecycle 与 LifecycleRegistry 的关联,生命周期的传递机制,最后总结并表示下篇将聊 LiveData 。
  13. The Second Beta of Android 16: Android 开发者博客发布了 Android 16 第二个 Beta 版本,新增了专业相机功能、图形效果支持、性能框架扩展,以及隐私、安全和后台任务相关的功能改进。此外,还包括一系列开发者工具和 API 更新,帮助开发者优化应用兼容性和用户体验。
  14. Dart 3.7 发布,快来看看有什么更新吧: 在聊 Dart 3.7 发布的之前,就不得不提 Dart 宏功能推进暂停 ,在春节期间,Dart 团队决定,由于宏的性能具体目标还太遥远,团队决定把当前的实现回归到编辑(例如静态分析和代码完成)和增量编译(热重载的第一步)上。关于数据支持,具体在于重新投资 Dart 中的数据实现,因为这也是 Dart & Flutter issue 里请求最多的问题,事实上一开始 Dart 对宏支持的主要动机,也是为了提供更好的数据序列化和反序列化,但是目前看来,通过更多定制语言功能来实现这一点更加实际。另外,Dart 团队目前已经在研究改进 build_runner 性能和推出 augmentations language feature (可能以略有不同的形式)支持,最终目的是找到更直接和方便的方法,来支持建模数据以及处理序列化和反序列化适配。
  15. Flutter 的 Widget Key 提议大调整?深入聊一聊 Key 的作用: 在 Flutter 里,Key 对象存在的目的主要是区分和维持 Widget 的状态,它是控件在渲染树里的「复用」标识之一,这一点在之前的《深入 Flutter 和 Compose 在 UI 渲染刷新时 Diff 实现对比》 聊到过,可以说 Key 的存在关乎了 Flutter 的性能,因为它的作用就是提高 Element Tree 的复用效率,例如减少匹配阶段所需的 Widget 比较次数。
  16. 记一次无障碍测试引发 app 崩溃问题的排查与解决: 这篇文章主要讲述了 APP 发版前自动化测试中出现的崩溃问题及解决过程。因无障碍测试引发 crash,经排查定位到问题代码,验证后得出两种解决方案,项目采用了其一。最后还进行了思考,提出测试人员应完善日志捕获,开发人员应深入分析根本原因,以提升代码质量和配合效率。
  17. Flutter 3.29 发布,看起来会是一个“大坑”的版本: Flutter 3.29 发布,带来众多更新与变动。包括 Cupertino 和 Material 的更新,Web 相关改进,Engine 方面的优化,新功能如 Backdrop filter 优化等,DevTools 的改进,重大更改和弃用等。此版本变动较大,升级需谨慎评估,文中还提及多窗口支持进展和宏支持停止等内容。
  18. WM 与 SF 的交互机制——Transaction: 文章介绍了 Android framework 中 WM 与 SF 交互的基本机制——Transaction。先讲解了准备知识,包括 SurfaceControl 与 Layer 的关系及通信需求。接着分析了 Transaction 类在 Java 层和 native 层的定义,以 setPosition、apply、merge 方法为例阐述其桥梁作用,最后探讨了设计该机制的优点,如减少 IPC 通信、保证变换同步、具备扩展性等。
  19. TrustedTime API: Introducing a reliable approach to time keeping for your apps: Android 开发者博客最新文章介绍了 TrustedTime API,它是一个提供可靠时间戳的新工具,旨在解决设备本地时间可能被篡改的问题。它通过 Google 的基础设施提供可信的时间源,支持多种应用场景,如金融、游戏、电商等。API 集成简单,适用于 Android 5 及以上版本设备。
  20. 技术简报 2025 第二期: 技术简报 2025 第二期文章汇总了多个编程和技术资源链接,涵盖方差计算、C++资料、系统设计思想、自动化复杂性、MESI 协议、ARM 无锁编程、追踪工具、eBPF 资源以及 Linux 内核和用户空间追踪器分析等内容,同时还提到了一些技术竞赛和系统设计案例。
  21. Android V app 冷启动 (1) Activity 生命周期: 文章主要分析了 Android 中从竖屏的 Launcher 冷启动王者荣耀这一过程中 Activity 的生命周期,包括 ATMS 处理启动请求、ActivityStarter 构建窗口层级和启动流程,以及 RootWindowContainer 暂停后台 Tasks 与拉起进程等各阶段的详细步骤和相关代码逻辑。还介绍了进程起来后的 attach app 流程和最终通知 app 端启动 activity 的过程。
  22. Android V app 冷启动(2) 窗口层级的构建: 根据 Android V app 冷启动 (1) Activity 生命周期 分析,在第一阶段启动中,会构建窗口层级。但是,我打算以授人以渔的方式来讲解,即分析框架,而不是分析具体的流程。
  23. Android V app 冷启动(3) 添加启动窗口: 文章围绕 Android V app 冷启动添加启动窗口展开,详细分析了相关代码和流程。从检测是否显示启动窗口,到包装数据,再到创建和添加启动窗口,涉及多个类和方法的交互,最终通过多线程方式为启动窗口创建 View 并通过 WindowManager 添加。

杂记

  1. 软技能—代码之外的生存指南 读书笔记: 这篇文章是关于《软技能——代码之外的生存指南》一书的读书笔记,重点介绍了程序员如何从职业发展的角度更好地管理自己的职业生涯。文章总结了书中的核心内容,并结合作者的个人经验,提供了关于职业规划、目标设定、人际交往、面试技巧、公司选择、晋升策略、辞职建议及技术观念的具体建议。
  2. 从提问到输出:何谓信息 |上野千鹤子: 本文深入探讨了信息生产的过程,从提问到输出,涵盖了信息的本质、提问的重要性、研究方法、原创性、资料收集、写作风格以及信息传播等多个方面。作者上野千鹤子通过自己的学术经验,分享了如何成为一个有效的信息生产者,并强调了提问能力、原创性和对公共知识财产的贡献。
  3. 高通 2025 财年 Q1 财报深度分析:汽车业务增长 60%: 高通 2025 财年 Q1 财报显示,其营收和净利润分别同比增长 17%和 15%。汽车业务增长最快,同比增长 60%,但增速放缓。智能手机和物联网市场需求回暖促使整体业绩上升,但苹果基带业务的不确定性和智能手机市场的低增长预期仍是潜在挑战。高通通过 AI、5G、边缘计算等领域的研发投入,巩固技术优势,同时在汽车和 IoT 业务上展现出强劲增长潜力。
  4. 读《智人之上》: 《智人之上 ——从石器时代到 AI 时代的信息网络简史》这本书的读书笔记
  5. 芯片,大变局: 文章探讨了全球半导体行业,尤其是中国台湾和韩国在地缘政治与市场竞争压力下的变局。台积电、联电等台湾企业面临美国关税压力和供应链外移挑战,同时也需应对中国大陆代工厂的崛起。韩国半导体企业则在存储芯片领域中受到来自中国和美国的双重压力,需要调整战略以保持竞争力。
  6. vol31.重启你的好奇心: 这篇文章涵盖了多个主题,包括个人成长、技术设计、产品价值定义、AI 应用构建的陷阱,以及如何重新激发好奇心等。它通过理论分析、案例探讨和工具推荐,提供了广泛的知识和见解。
  7. 02-10~02-16.老胡的周刊(第 177 期): 老胡的信息周刊,记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。
  8. 如何有效做好近 3-6 个月的时间管理——针对多线程任务的动态平衡法: 如何有效做好近 3-6 个月的时间管理,文章提出了一种动态平衡法,通过目标导向和弹性任务池等方法,帮助在多线程任务中找到平衡,提升执行力和掌控感。
  9. DPS 周刊 185 - Kevin Kelly 的旅行建议: 这篇文章分享了 Kevin Kelly 长达 50 多年的旅行经验和见闻,涵盖了旅行中的心得、建议以及作者和朋友们的不同旅行故事。这些内容不仅展示了丰富的旅行体验,还为读者提供了关于旅行计划、文化探索和生活哲理的深刻见解。
  10. 技术管理之“做一个四大工程师”: 何为大情怀?一是做任何事情都要有激情,而不是只为了混一口饭吃。二是有大的理想抱负,已经解决了温饱问题时候,多少还是要争取做一些大事,做一些对社会和他人有价值的事情。今天研讨时候大家提到了一个专家脑子僵化的问题。确实 deepseek 目前火爆打破了很多认知,一群刚毕业的学生做出了震惊世界的产品,会让多少人和公司汗颜。众多院士,国内大公司都有那么多专家和人才,怎么都做出来呢。我们这些所谓专家在新 AI 时代如何自处。

AI

  1. 个人知识库搭建教程: 本文介绍如何基于 DeepSeek V3 模型+Obsidian 搭建个人知识库,效果就是你可以对 Obsidian 工作区的笔记进行提问,让 AI 帮你梳理和总结。
  2. DeepSeek 高效率使用的指南: 本文详细探讨了如何高效使用人工智能工具(如 DeepSeek 和 ChatGPT),重点在于提问的技巧和思维方式的培养。文章分为多个部分,覆盖了从掌握领域知识到优化提问,再到批判性思维和探索性提问的方法。
  3. 最好的致敬是学习:DeepSeek-R1 赏析: 和真格联合推出了一个面向非技术人群(我怎么每次都是面向这个人群)的 DeepSeek R1 创新亮点分享会(由我司首席科学家 Peak 提供 tech review,确保我没有瞎讲)。用通俗易懂的方式带大家过了一次 R1 和 V3 的技术报告。让你可以理解在这之前业界都有哪些问题和疑惑,DeepSeek 是怎样去解题的,以及其中的几个重要闪光点。后半场我们讨论了从中能看到未来 LLM 应用会有哪些新范式和产品可能性。同时对最近一段时间的各种光怪陆离的谣言和伪概念进行一个解释
  4. 关于 DeepSeek 我是怎么研究的(1): 抛开纷繁复杂的信息从 DeepSeek 最原始的论文和报告入手研究,避免被外界立场影响,建立自己对 DeepSeek 的认知。这会是一个系列文章,首先研究清楚 DeepSeek 归属的 Reasoning Language Model (RLM)的概念、核心组件及其工作原理,强调了 RLM 结合大型语言模型生成能力和高级推理机制的特点。
  5. 关于 DeepSeek 我是怎么研究的(2): 本文探讨了 DeepSeek 如何应用 System 1 Thinking 和 System 2 Thinking 来优化其模型。System 1 Thinking 快速、直观,基于模式匹配;而 System 2 Thinking 缓慢、深思熟虑,基于逻辑推理。通过结合这两种思维方式,DeepSeek 能够在生成推理步骤和评估推理路径方面更高效地解决复杂问题。
  6. 性能周刊 2025-02-09 第 6 期: 本文是《性能周刊》第 6 期,涵盖了多篇关于性能分析与优化的文章,内容涉及 Linux 性能分析工具 perf 的使用、火焰图的生成与解读、eBPF 与 bcc 的使用示例、Linux 内核进程管理、Profiling 工具与方法、编译优化技术以及可观测性模型等多个主题,适合对性能优化感兴趣的读者深入学习。
  7. Android Weekly Issue #662: 《Android Weekly》第 662 期涵盖了最新的 Android 开发资讯和教程。主要内容包括:在 Jetpack Compose 中创建拉丝金属 UI 效果,使用 Koin 插件在 IntelliJ 和 Android Studio 中检测 Kotlin 应用的依赖问题,以及分析 Kotlin 网络客户端的线程使用效率,发现 Ktor Client 比 Retrofit 和 Fuel 更高效。除此之外,还介绍了如何在 Jetpack Compose 中实现三点加载动画,优化 Android 应用的过度绘制以提升性能,以及在 MVI 架构中正确加载初始数据的方法。本期还探讨了 Kotlin Multiplatform 移动应用的最佳架构实践,强调模块化和 Clean Architecture 的重要性,并介绍了 Android 16 Beta 2 的新特性,如专业相机增强功能和新的安全 API。
  8. Cursor: 以每秒 1000 个 Token 的速度编辑文件: 一种新的模型和推理方法,可在 1000 tokens/s 的速率下对整个文件进行高精度编辑。
  9. 什么是 AI 架构师? — Bret Taylor: 以下内容整理自播客“Latent Space”最近的一期“The AI Architect — Bret Taylor”,邀请到了嘉宾是 Bret Taylor,是一位拥有传奇经历的 Sierra CEO、OpenAI 主席,以及 Google Maps / Facebook Likes 的缔造者,在节目中分享了他对软件工程未来的见解,以及在 AGI 曙光降临之际,如何打造优秀的产品和团队。内容比较长,但是值得认真看看,我对于一些有价值的内容已加粗,如果时间有限,也可以挑重点看看。

课程推荐

掘金小册:Android 性能优化

原理+实战+进阶,全面掌握 Android 性能优化,作者赵子健,Android GDE,字节跳动资深 Android 开发工程师,现负责飞书客户端性能品质优化工作。熟悉 Android 和 Linux 系统底层原理,擅长性能优化。曾任职于腾讯、阿里巴巴,有丰富的项目性能优化和架构经验。

你会学到什么?

  • 深入底层,全面建立性能优化知识体系;
  • 高手思路,掌握大厂性能调优方法论;
  • 三大模块,实战内存+速度+包体积优化;
  • 玩转“黑科技”,轻松实现性能优化进阶。

连接:https://s.juejin.cn/ds/iPCuKAv3/

掘金小册:Android 应用稳定性剖析与优化

全方位攻克 Android 应用疑难杂症,实战助力学习前沿优化技术。Pika(陈海亮),Google 开发者专家(Android GDE),掘金移动端签约作者。开源爱好者,多个大厂开源贡献者,擅长性能优化、应用与 JNI 开发。受邀参与多次 Google 活动,如社区说、IO Extented 等。

你会学到什么?

  • 全面技能拓展,囊括前沿热门黑科技实战;
  • 性能优化实践,多个一线开发案例全流程;
  • 源码到优化,从底层到上层逐步贯通;
  • 多维度优化,解决应用开发常见疑难问题。

连接:https://s.juejin.cn/ds/iPCHR7CP/

投稿指南

欢迎投稿分享您的:

  • 技术博客
  • 实践经验
  • 工具推荐

投稿方式:

  • 公众号后台回复”投稿”
  • 本周刊下面留言
  • 发邮件 :dreamtale.jg@gmail.com
  • 微信联系:Gracker_Gao

关于作者

下面是个人的介绍和相关的链接,期望与同行的各位多多交流,三人行,则必有我师!

  1. 掘金 - Gracker:https://juejin.cn/user/1816846860560749
  2. 知乎 - Grackerhttps://www.zhihu.com/people/gracker
  3. 个人博客 - Android Performance : 写东西的地方
  4. 个人介绍 - 欢迎加微信群组多多交流 :里面有个人的微信和微信群链接。
  5. 个人整理和搜集的优秀博客文章 - Android 性能优化必知必会 :欢迎大家自荐和推荐 (微信私聊即可)
  6. 本周刊 Newsletter 订阅https://androidweekly.zhubai.love/ ,支持微信和邮箱订阅
  7. 微信公众号 Android Performance
  8. Android 性能优化知识星球 : 个人运营的一个知识星球,欢迎加入,多谢支持~

版权声明

  • 本周刊遵循 CC BY-NC-SA 4.0 协议
  • 转载请注明出处:Android Weekly 第 X 期
  • 欢迎订阅、分享,让更多开发者受益
CATALOG
  1. 1. 技术文章
  2. 2. 杂记
  3. 3. AI
  4. 4. 课程推荐
    1. 4.1. 掘金小册:Android 性能优化
    2. 4.2. 掘金小册:Android 应用稳定性剖析与优化
  5. 5. 投稿指南
  6. 6. 关于作者
  7. 7. 版权声明