Android Performance

Android Weekly 2025-04 期

Word count: 3.2kReading time: 11 min
2025/01/27
loading

Android Weekly 是由 Gracker 精心整理和发布的技术资讯周刊,每周一准时更新,汇聚了过去一周内与 Android 相关的高质量技术文章、泛客户端技术的最新动态,以及其他值得关注的非技术类文章,内容覆盖广泛,从 Android 开发到跨平台技术,从系统底层优化到前沿技术分享,为开发者提供全方位的知识拓展。

本周刊可以通过微信公众号、知乎专栏、掘金专栏、个人博客、竹白等平台订阅和阅读。

技术文章

  1. 深入 Flutter 和 Compose 的 PlatformView 实现对比,它们是如何接入平台控件 : 本文深入对比了 Flutter 和 Compose 在 PlatformView 实现上的差异,重点分析了它们接入平台控件的方式、技术实现和适配场景的不同。文章详细展示了 Flutter 的三种模式(VD、HC、TLHC)的演变及其优缺点,同时探讨了 Compose 如何通过 AndroidView 将传统 View 集成到其 UI 渲染树中,并分析了两者在 SurfaceView 支持上的关键区别。
  1. Now In Android 精讲 5 - Data Layer : 文章主要精讲了 Android 中的 Data Layer,包括学习前需解决的一系列问题,通过代码示例讲解了 Repository 的使用及设计原则,阐述了 Repository 与 DataSource 的关系,介绍了离线优先业务,如模块设计、读写策略、同步设计等,最后总结鼓励对照代码学习并应用。

  2. DeepSeek-R1 发布,性能对标 OpenAI o1 正式版 : DeepSeek-R1 发布,性能媲美 OpenAI o1 正式版,并开源模型权重。DeepSeek-R1 采用 MIT License,支持模型蒸馏,API 和应用同步上线,性能在数学、代码、自然语言推理等领域表现优异。小模型蒸馏版本也已开源,协议调整为更宽松的 MIT License,明确支持用户进行模型蒸馏。API 服务定价透明,用户可通过官网或 App 体验新功能。

  3. 内核空间内存 profiler: memprofiling : 内核空间内存使用情况剖析器 memprofiling 由 Kent Overstree 和 Google 的 Suren Baghdasaryan 开发,能够直观展示内核内存的分配情况,包括分配者及分配对象数量。

  4. Android 15 内存追踪利器:ProfilingManager! : Android 15 内存追踪利器:ProfilingManager

  5. 两个 display driver 导致的问题 : 两个 display driver 导致的问题,第一个问题是 MTK 平台的 PQ 功能存在 bug,关闭 PQ 后解决了 settings 界面滑动花屏的问题。第二个问题是项目在开启 doze_suspend 后出现黑屏和 SF 的 DMA Buffer 泄露,原因是驱动在适配 doze suspend 功能时屏幕上下电逻辑存在 bug。

  6. 案例分享:数据库 sqlite3 访问 SIGBUS 崩溃问题 : 案例分享:文章探讨了一个与数据库 sqlite3 访问相关的 SIGBUS 崩溃问题,分析了其发生原因、定位方法及解决过程,最终确认是由于多线程并发操作导致文件锁丢失引发的数据库访问错误。

  7. AGI 前夜的思考 [译] : 这篇文章探讨了人工通用智能(AGI)即将到来的影响,分析了技术发展、社会变革、潜在风险及应对策略。作者认为我们正处于历史性时刻,未来将充满惊人的可能性,也伴随着巨大的挑战。文章呼吁每个人发挥作用,共同塑造一个积极的未来。

  8. 快让 Appium 自动化测试你的 App 吧 : 文章主要介绍了 Appium 自动化测试流程,包括环境配置(安装 appium、驱动,配置环境变量,选择 Python 语言等),使用方法如打开目标 Activity、查看布局元素、尝试点击事件,还提及相关工具及可能遇到的问题。

  9. 一些“小模型”的使用案例 : 在 Hacknews 上有一个讨论很火,就是大家都用小参数的语言模型做什么,有没有什么好的使用案例。我把这些案例整理汇总了一下,大约有六类:(1)文本分类与信息提取、(2)办公与生产力辅助、(3)对话/消息处理与辅助回复、(4)网页/应用集成与自动化、(5)娱乐、创作与游戏、(6)模型部署、技术瓶颈与思考。

  10. Episode 212: Happy birthday, Android Studio! : In this episode Chet, Romain and Tor chat with Xav and Jamal from the Android Studio team to talk about the history of Android’s IDE.

  11. Android 车机 Car 模式原理 : 文章主要介绍了 Android 车机的 Car 模式原理,包括车机系统 Android Automotive OS 的特点,Car 模式中的各个模块如 Car API、Car Service、Vehicle HAL 的功能、使用方法、类图等,还讲解了 MCU 报文通讯流程及相关开发维护工作。

  12. Android 字节码处理-ASM 入门开胃菜 : 文章主要介绍了 Android 字节码处理相关内容,包括编译流程、字节码修改阶段、ASM 框架(简介、两种模式、执行模型、核心组件)、类结构及描述符等,还提到 ASM 学习曲线陡峭,建议查阅官网和示例代码。

  13. Now in Android: 113 - Android 16 Developer Preview 2, Android XR, Android Studio Ladybug, and more! : Welcome to Now in Android, your ongoing guide to what’s new and notable in the world of Android development. In this episode, we’ll cover updates on the Second Developer Preview of Android 16, Android XR, Spotlight Week on Android Camera and Media, Android Studio Ladybug Feature Drop and more!

  14. Android WebView 中网页被劫持的原因及解决方案 :这篇文章探讨了 Android WebView 中网页被劫持的原因及解决方案。原因包括 JavaScript 重定向、恶意网页等多种情况。解决方案有使用 HTTPS、验证 URL 等措施,并提供了相应代码案例。还通过案例深入分析了问题,得出网页被劫持可能由多种因素导致的结论。

  15. Kotlin 技术月报 | 2025 年 1 月 :2025 年 1 月的 Kotlin 技术月报涵盖了最新动态、精选博客和社区活动等。最新动态包括 IDE 支持、Kotlin K2 编译器新特性、Gradle 支持情况等。精选博客有 KMP 发展回顾、KMM 跨平台原理、MMKV 封装思路等。社区活动是 Kotlin 中文开发者大会视频回放。

  16. 带着问题学,Compose 附带效应(Side Effect)一探究竟 :文章以“Jetpack Compose 附带效应(Side Effect)”为主题,介绍了其定义,包括在组合函数中对输入输出范围外状态或系统产生影响的操作,如网络请求等。还列举了处理副作用的 API 及其用途场景、特别之处,如 SideEffect、LaunchedEffect 等。探讨了如何确保重组时应用状态与外部系统一致,以及副作用 API 的最佳实践和常见误区,最后总结了实际开发中的关键要点。

非技术文章

  1. SP05.愿意主动承受痛苦,才是热爱的证明 : 文章探讨了“热爱”与“痛苦”之间的关系,指出真正的热爱往往藏在愿意主动承受的痛苦背后。通过作者自身的经历以及身边人物的故事,阐述了如何辨别兴趣与热爱,并强调主动选择承受痛苦的重要性。

  2. 读《吸引力法则:如何利用心理暗示实现愿望》的记录与思考 : 这篇文章是作者对《吸引力法则:如何利用心理暗示实现愿望》一书的读后感和思考。文章从吸引力法则的定义、理论体系到具体实践方法,进行了系统的梳理和个人化的解读。作者强调吸引力法则的核心是“相似者互相吸引”,通过关注感受和调整磁场,达到与愿望和谐的状态,并分享了多种提升想象力和正向思维的具体方法。

  3. 月刊(第 28 期):AI 没有体验世界的能力 : 本篇是对二〇二四年十一月至十二月的记录与思考。

  4. EBook - 自洽的程序员 : 但这本书的真正用意是想解决工作过程中碰到的焦虑、倦怠、迷茫、抑郁等情绪,聚焦于解决具体问题,通过改变认知将我们从负面情绪的泥淖中走出来,做到更坦然,真诚的面对自己的内心,成为一个自洽的程序员。

  5. 33 岁在重庆,程序员,在 2024 年拥有的面试经历 : 这篇文章记录了一位 33 岁的程序员在 2024 年于重庆的求职经历及反思。他分享了多次面试的过程、心得以及对未来的展望,同时总结了求职过程中需要注意的事项和心态调整的重要性。

  6. 《奔跑吧,程序员:从零开始打造产品、技术和团队》 : 这篇文章是对创业公司、技术选择、设计原则、招聘策略以及学习技巧等主题的深入探讨。通过实际案例和理论分析,文章介绍了如何在不确定的环境中快速增长,并提供了许多实用建议。

  7. 技术简报 2025 第一期 : 本文章主要整理了一系列技术相关的文章和主题,包括搜索引擎架构、Linux 上下文切换、GPU 计算、数据库分区、创造性思维等内容,旨在分享编程技术洞察和经验。

  8. 读《黄仁勋:英伟达之芯》 : 这篇文章探讨了黄仁勋及其领导下的英伟达如何通过创新和坚持,成为人工智能领域的领导者。文章详细描述了黄仁勋的管理风格、他对技术的深刻理解,以及他如何利用第一性原理重新定义 GPU 的应用场景,推动 AI 革命。

  9. 一个伪独立开发者的独白——4399 小游戏开发 : 作者回顾了自己作为伪独立开发者的经历,分享了开发 4399 小游戏的经验和心得。

  10. 【Netflix】极简主义:记录生命中的重要事物 官方双语字幕 Minimalism : 这部纪录片访问的对象,都努力抗拒认为事物能带来幸福的美式理念,展现少即是多的真谛。

  11. 被动收入的一些思考与实践(1) : 这篇文章讲述了作者在构建被动收入过程中的实践经验、心得体会以及一些关键洞见。通过一次小的尝试,作者逐步摸索出如何将自己的技能和资源转化为可持续的收入来源,同时也总结了在过程中学到的核心理念。

工具

  1. 个人工具箱 : 自己一直是个工具控,也一直信奉着“工欲善其事,必先利其器”的理念,总是不断折腾和优化自己的硬件与软件,针对自己的一个特定需求会试图找到最优解,现在也慢慢找到了最适合自己使用习惯的解决方案。因为工作、学习和个人兴趣,设备经过很多次迭代,在这个时间节点作一下记录,后续也会不断更新,希望能够对其他人有所参考。
  2. 对标 Cursor 和 Windsurf,Trae 如何成为中文开发者的首选? : Trae 是字节跳动推出的一款专为中文开发者优化的 AI IDE,旨在解决现有工具在中文语言支持上的不足,同时通过整合 Claude 3.5 和 GPT-4o 等主流大模型,提升开发效率并提供智能化支持。Trae 通过本地化设计、便捷的功能迁移和多样化的 AI 功能,重新定义了中文开发者友好型 IDE 的标准。

杂记

关于作者

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

  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 性能优化知识星球 : 个人运营的一个知识星球,欢迎加入,多谢支持~
CATALOG
  1. 1. 技术文章
  2. 2. 非技术文章
  3. 3. 工具
  4. 4. 杂记
  5. 5. 关于作者