Android Weekly #202513

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

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

技术文章

  1. Perfetto Pin 区域高度调节工具 --- 让性能分析更高效: 分析 trace 时,我们经常要把感兴趣的线程给 pin 住,然后在 Perfetto Viewer 默认的 Pinned 区域(固定视图区)里集中查看这些 pin 住的线程。然而有个问题,Pin 区域的高度被谷歌官方给限制死了,限制为浏览器高度的 40%,pin 的线程如果不多还好说,一旦多了我们就会发现,Pin 区域也需要滑动才能查看全部,这就很烦了,明明我们屏幕下方还有好多空间,你为啥不能再扩大点呢。
  2. 移动 OS 设计之性能设计 5 - OS 质量提升- 技术指标优化: 本文探讨了移动操作系统性能优化的设计方法,包括如何持续提升操作系统质量、定义技术指标、观测指标以及设定优化目标等内容,同时分析了操作系统与第三方应用之间的资源分配问题及优化挑战。
  3. Android 确定废弃「屏幕方向锁定」等 API ,如何让 App 适配大屏和 PC/XR 等场景: Android 计划逐步废弃限制屏幕方向和大小调整的相关 API,开发者需适配大屏、折叠屏、PC 和 XR 等场景。文章详细介绍了相关变更、适配方法及开发工具。
  4. Android× 鸿蒙 ×AI 技术周刊 - 第 5 期: Android× 鸿蒙 ×AI 技术周刊 - 第 5 期
  5. 内核抢占,让世界变得更美好 | Linux 内核: 本文讨论了 Linux 内核抢占的基础知识,介绍了抢占的概念、抢占的类型、内核抢占的时机以及相关配置选项,并分析了抢占发生的条件和执行过程。此外,还探讨了内核抢占的优缺点及其应用场景。
  6. MTK Camera 照片切视频 Systrace 拆解分析: MTK Camera 照片切视频 Systrace 拆解分析文章通过详细的拆解分析,介绍了 MTK Camera 从照片模式切换到视频模式的 Systrace 过程,包括关键流程、阶段拆解及相关技术细节。
  7. 开发 PopTranslate 背后的故事: 整整一年没有更新 Blog 了,因为最近发布了一款新产品 PopTranslate,想做一点承前启后的事情。所以在这篇文章里,我想正式介绍一下这款产品,以及产品背后的开发故事,也就是从做完上个产品后的疲倦状态中走出来,然后找到新方向的故事。
  8. Android 耗时统计: 对于 Android 的耗时统计,在 Android 7.0, 增加了一个 Api 可以方便的统计一个 Window 的 View 树的绘制耗时。低于 API 26 可以使用 Choreographer 监听帧时间。
  9. Pixel 8 pro 刷 AOSP 14 源码 详细教程 & 救砖处理: Pixel 8 Pro 刷入 AOSP 14 源码详细教程,涵盖从环境配置、源码下载、驱动安装、编译到刷机的完整步骤,重点强调了避免变砖的注意事项,并提供了解决变砖的方法。
  10. 以鸿蒙为例,详解统一渲染技术: 本文以鸿蒙为例,分析统一渲染技术的实现与优化。华为通过引入 RenderService 进程解决分离渲染架构动效卡顿问题,采用统一渲染树管理降低 GPU 负载,同时通过异步流水并行和渲染树拆分技术提升性能。基于 Skia 引擎的 Vulkan 改造,实现帧内高并行 GPU 绘制,并通过 GlobalContext 优化多线程支持,最终显著提升渲染效率。
  11. Android 渲染管线 App 端的性能优化: 文章探讨了 Android 渲染管线的性能优化问题,提出通过将 UI 线程拆分为业务主线程、UI Record 线程,以及 Render 线程的三线程方案来分担负载,从而解决 5%重任务导致的渲染延迟问题,同时强调主线程 UI 布局复杂度可预知,但其他消息事件处理可能引发不可控的卡顿,如四大组件的 ANR 问题。
  12. Linux 内核追踪神器:perf 实现原理剖析: 本文深入剖析了 Linux 内核性能分析工具 Perf 的实现原理、功能特点、安装与使用方法,以及其在性能优化中的应用场景和重要性。Perf 是一款强大的性能分析工具,能够帮助开发者深入理解系统性能问题并进行针对性优化。
  13. LWN:网络代码中着手处理冻结页!: LWN:网络代码中着手处理冻结页!这篇文章讨论了 Linux 6.14 内核引入的冻结页优化技术及其对性能的潜在影响,同时分析了网络子系统在应用该技术时遇到的问题和解决方案。
  14. androidweekly issue-669: androidweekly issue-669
  15. Flutter 教程(十四)动画: Flutter 动画教程介绍了动画的分类及其实现方式,包括补间动画、物理动画、隐式动画、显示动画、Hero 动画和交织动画。文章详细讲解了每种动画的定义、特点及代码示例,帮助开发者在 Flutter 中灵活运用动画技术。
  16. RecyclerView------ItemTouchHelper: 本文详细介绍了 RecyclerView 的辅助类 ItemTouchHelper 的使用及源码解析,包括其功能、构造方法、事件处理、拖拽与侧滑手势处理、以及实现拖动效果的原理。
  17. 为什么要慎用 Skia 多线程渲染?: Android 渲染通过 UI 线程和渲染线程的分离实现了多线程渲染,UI 线程负责更新 UI,渲染线程负责完成渲染指令。然而,使用多线程就不得不考虑到线程安全和死锁等问题,因此 Android 也设计了很多保护和限制。对于更新 UI 这项工作,Android 严格限制只能在 UI 线程中进行,如果在子线程中更新 UI 就会抛出一个异常------CalledFromWrongThreadException。对于进行渲染这项工作,Android 没有像更新 UI 那样直接限制成在非渲染线程中就抛出异常,所以开发者需要更加谨慎地使用使用多线程。本文将介绍一个笔者实际遇到的 AOSP bug,引出 Skia 单一使用者原则,分析 Google 如何实现对渲染的线程安全保护。
  18. 用于地址空间隔离的页面分配: 这篇文章主要讨论了一种用于内核地址空间隔离的页面分配技术,并分析了其设计理念、性能挑战以及在实际应用中的问题和解决方案。
  19. Android V app 冷启动(8) 动画结束: 本文详细解析了 Android V 应用冷启动过程中的 Transition 结束流程,包括 WMShell 和 WMCore 的工作机制、WallpaperWindowToken 的不可见提交、DisplayContent 的 transition finish 处理、屏幕方向更新与配置更新,以及 Fixed Rotation 的清理与应用。
  20. Flutter 伪 3D 绘制#1 | 三维空间: 该文章介绍了如何使用 Flutter 中的 Canvas 实现伪 3D 绘制,通过投影变换将三维点映射到二维平面,并绘制三维坐标系、空间点和旋转效果。文章详细讲解了数据定义、投影逻辑及绘制方法,并提供了代码示例。
  21. Flutter 伪 3D 绘制#02 | 地平面与透视: 本文介绍了如何在 Flutter 中绘制伪 3D 地平面网格,并通过数学投影逻辑实现透视效果,解决线条绝对平行带来的视觉违和感。通过动态调整参数,可以优化视觉体验,增强三维空间的表现力,为后续深入分析投影映射逻辑奠定基础。
  22. Flutter 伪 3D 绘制#03 | 轴测投影原理分析: Flutter 伪 3D 绘制#03 文章详细解析了轴测投影的原理,介绍了如何将三维空间的点映射到二维平面,包括等轴测投影的数学计算和应用场景。
  23. Kotlin 对 Android 整体编程有什么明显的改进,这几年自身有什么更新: 自 2017 年 Google 宣布 Kotlin 为 Android 官方语言以来,其对 Android 开发的革新体现在编程效率、代码质量、跨平台能力等多个维度,同时 Kotlin 语言自身也经历了重大技术演进。

杂记

  1. 程序员的自我修养 - 第二章 编译和链接: 程序员的自我修养 - 第二章编译和链接,详细探讨了从源代码到可执行文件的整个过程,包括预处理、编译、汇编和链接的步骤。文章通过示例代码和工具命令,深入剖析了各阶段的工作原理及其作用,并对编译器的工作流程进行了详细分析。
  2. 工作九年程序员的三月小结: 工作九年的程序员拭心分享了三月份的个人工作和生活总结,涵盖了合同续签、AI 项目进展、工具学习、宠物手术、租房搬家以及装修等内容。他对技术的简化趋势进行了反思,同时表达了对未来的焦虑与兴奋。
  3. 体验碎周报第 226 期(2025.3.31): 系统的知识来源于对碎片的整理和思考,为了更好地输出系统知识,记录本周我发现的体验设计和思考,为构建系统知识做准备。
  4. 自证陷阱能挖多深?: 这篇文章围绕"自证陷阱"展开,作者通过与一位质疑者的对话,分析了如何应对逻辑陷阱,尤其是"自证陷阱"和"动机陷阱"。文章探讨了创作者是否需要证明自己的创作真实性,以及如何避免陷入主观争论。作者最终总结了一些策略来脱离这些逻辑困境,并强调了在面对主观质疑时及时抽身的重要性。
  5. 健身是所有人的必修课: 这个文章探讨了健身的重要性以及作者个人的健身体验和感悟,强调健身不仅是一项身体活动,更是长期健康生活规划的重要组成部分。
  6. Python 潮流周刊#96:MCP 到底是什么?: 本周刊由 Python 猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。
  7. 草长樱飞的三月月报: 三月工作清闲,作者重新学习 Flutter 并开发了 FyMemos 客户端,同时利用每个周末进行户外活动,包括徒步和露营,感受春天的自然美景。阅读了阿德勒的《自卑与超越》和《读库 2502》中的西游相关内容,收获新视角。此外,开始跑步锻炼身体,改善体能,并经历了一次轻微交通事故。作者总结春天是感受自然的好时机,计划四月继续户外活动并努力提升自己。

AI

  1. 闲谈丨一名 AI 体验者的自述: 文章讲述了一位 AI 体验者从最初对 AI 工具的不屑一顾到深刻依赖的态度转变。他分享了 AI 对工作与生活的巨大影响,包括提升开发效率、减少对传统学习媒介的依赖,以及在代码分析和工具开发中的实际应用。同时,他也指出了当前 AI 仍有的一些局限性,并探讨了如何与 AI 共处的最佳方式。
  2. Awesome MCP Servers - Concise List: 该文章提供了一个关于 MCP 服务器的简洁列表,涵盖了多个领域的应用,包括浏览器控制、艺术与文化、云平台、命令行工具、通信、客户数据平台、数据库、开发者工具、数据科学工具、文件系统、金融科技、游戏、知识与记忆、定位服务、营销、监控、搜索以及实用工具等。每个部分列出了相关的 MCP 服务器及其功能和集成方式。
  3. BabelDOC: BabelDOC 是一个功能强大的 PDF 科学论文翻译和双语对比工具,提供在线服务和自部署选项。它支持英语到中文的翻译,具有丰富的命令行选项和 Python API,可用于文档处理和翻译。项目旨在解决 PDF 解析和翻译中的结构保留问题,并通过插件系统实现扩展。
  4. [译] AI 计算民主化 第七部分:如何看待 Triton 与 Python eDSLs?: 本文探讨了 AI 计算民主化背景下,Python 嵌入式领域特定语言(eDSLs)如何弥合易用性与性能之间的差距,重点分析了 Triton 及其优缺点,并对其他类似技术进行了对比。同时讨论了 eDSLs 的局限性、治理问题以及未来 AI 编译器的统一框架 MLIR。
  5. deepseek ai 输入法: 文章介绍了使用 Java 开发安卓输入法并接入 DeepSeek 实现 AI 聊天功能,提供了视频演示和开源代码地址,同时解析了技术细节,包括输入法服务类、布局文件和程序入口等,适合对 Android 开发和 AI 集成感兴趣的开发者参考。
  6. 从"首个 AI 软件工程师" Devin 2.0 的系统提示词看提示词工程的奥秘: 文章分析了 AI 软件工程师 Devin 2.0 的系统提示词,深入探讨了提示词工程的原理和应用。提示词不仅为 AI 设定了角色、任务和行为准则,还规定了工具使用、交互结构、安全规范以及特殊场景处理机制。这些提示词设计旨在提升 AI 的效率、安全性和任务执行能力,同时也揭示了提示词工程的复杂性和潜在风险。
  7. 为什么靠 AI"什么都懂一点",却并不能真正变专业?: 现在,很多人都对 AI 抱着一个幻想:我可能不是很专业,但如果借助 AI,不就能轻松变成专业人士了吗?确实,AI 在某些方面给了我们这样的错觉,比如稍微懂一点编程的人,可以轻松地用 AI 写出一个小程序的原型;不怎么懂设计的人,可以通过 AI 快速生成看起来不错的海报。然而,这种"什么都懂一点"再靠 AI 加持就能变专业的想法,其实是一种误解,甚至可能是一种危险的误解。

投稿指南

欢迎投稿分享您的:

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

投稿方式:

  • 公众号后台回复"投稿"
  • 本周刊下面留言
  • 发邮件 :[email protected]
  • 微信联系:Gracker_Gao

关于作者

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

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

版权声明

  • 本周刊遵循 CC BY-NC-SA 4.0 协议
  • 转载请注明出处:Android Weekly 第 X 期
  • 欢迎订阅、分享,让更多开发者受益
相关推荐
隐-梵2 小时前
Android studio学习之路(六)--真机的调试以及多媒体照相的使用
android·学习·android studio
stevenzqzq2 小时前
Android Studio Logcat V2 使用指南(适配 2024 年版本)
android·ide·android studio
bytebeats2 小时前
改进 Jetpack Compose 中的 ModalBottomSheet API
android
bytebeats2 小时前
使用Dagger SPI 查找非必要组件依赖项
android·gradle·dagger
bytebeats2 小时前
在Kotlin中编写依赖于时间的可测试协程代码
android·kotlin·测试
_一条咸鱼_2 小时前
AI 大模型之 Transformer 架构深入剖析
android
QING6183 小时前
Kotlin 中 reified 配合 inline 不再被类型擦除蒙蔽双眼
android·kotlin·app
Yang-Never3 小时前
OpenGL ES -> SurfaceView + EGL实现立方体纹理贴图+透视效果
android·kotlin·android studio·贴图
QING6183 小时前
Android应用启动与退出监听方案——新手入门指南
android·架构·app
叫我龙翔3 小时前
【项目日记】高并发服务器项目总结
android·运维·服务器