Android Weekly 是一份专注于 Android 技术生态的周刊,每周一更新。本周刊深入挖掘 Android 系统架构、性能优化、跨平台开发、AI 等领域的高质量技术内容,为开发者提供持续的知识更新与技术洞察。
订阅渠道:[微信公众号] | [知乎专栏] | [掘金] | [RSS]
技术文章
- Perfetto Pin 区域高度调节工具 --- 让性能分析更高效: 分析 trace 时,我们经常要把感兴趣的线程给 pin 住,然后在 Perfetto Viewer 默认的 Pinned 区域(固定视图区)里集中查看这些 pin 住的线程。然而有个问题,Pin 区域的高度被谷歌官方给限制死了,限制为浏览器高度的 40%,pin 的线程如果不多还好说,一旦多了我们就会发现,Pin 区域也需要滑动才能查看全部,这就很烦了,明明我们屏幕下方还有好多空间,你为啥不能再扩大点呢。
- 移动 OS 设计之性能设计 5 - OS 质量提升- 技术指标优化: 本文探讨了移动操作系统性能优化的设计方法,包括如何持续提升操作系统质量、定义技术指标、观测指标以及设定优化目标等内容,同时分析了操作系统与第三方应用之间的资源分配问题及优化挑战。
- Android 确定废弃「屏幕方向锁定」等 API ,如何让 App 适配大屏和 PC/XR 等场景: Android 计划逐步废弃限制屏幕方向和大小调整的相关 API,开发者需适配大屏、折叠屏、PC 和 XR 等场景。文章详细介绍了相关变更、适配方法及开发工具。
- Android× 鸿蒙 ×AI 技术周刊 - 第 5 期: Android× 鸿蒙 ×AI 技术周刊 - 第 5 期
- 内核抢占,让世界变得更美好 | Linux 内核: 本文讨论了 Linux 内核抢占的基础知识,介绍了抢占的概念、抢占的类型、内核抢占的时机以及相关配置选项,并分析了抢占发生的条件和执行过程。此外,还探讨了内核抢占的优缺点及其应用场景。
- MTK Camera 照片切视频 Systrace 拆解分析: MTK Camera 照片切视频 Systrace 拆解分析文章通过详细的拆解分析,介绍了 MTK Camera 从照片模式切换到视频模式的 Systrace 过程,包括关键流程、阶段拆解及相关技术细节。
- 开发 PopTranslate 背后的故事: 整整一年没有更新 Blog 了,因为最近发布了一款新产品 PopTranslate,想做一点承前启后的事情。所以在这篇文章里,我想正式介绍一下这款产品,以及产品背后的开发故事,也就是从做完上个产品后的疲倦状态中走出来,然后找到新方向的故事。
- Android 耗时统计: 对于 Android 的耗时统计,在 Android 7.0, 增加了一个 Api 可以方便的统计一个 Window 的 View 树的绘制耗时。低于 API 26 可以使用 Choreographer 监听帧时间。
- Pixel 8 pro 刷 AOSP 14 源码 详细教程 & 救砖处理: Pixel 8 Pro 刷入 AOSP 14 源码详细教程,涵盖从环境配置、源码下载、驱动安装、编译到刷机的完整步骤,重点强调了避免变砖的注意事项,并提供了解决变砖的方法。
- 以鸿蒙为例,详解统一渲染技术: 本文以鸿蒙为例,分析统一渲染技术的实现与优化。华为通过引入 RenderService 进程解决分离渲染架构动效卡顿问题,采用统一渲染树管理降低 GPU 负载,同时通过异步流水并行和渲染树拆分技术提升性能。基于 Skia 引擎的 Vulkan 改造,实现帧内高并行 GPU 绘制,并通过 GlobalContext 优化多线程支持,最终显著提升渲染效率。
- Android 渲染管线 App 端的性能优化: 文章探讨了 Android 渲染管线的性能优化问题,提出通过将 UI 线程拆分为业务主线程、UI Record 线程,以及 Render 线程的三线程方案来分担负载,从而解决 5%重任务导致的渲染延迟问题,同时强调主线程 UI 布局复杂度可预知,但其他消息事件处理可能引发不可控的卡顿,如四大组件的 ANR 问题。
- Linux 内核追踪神器:perf 实现原理剖析: 本文深入剖析了 Linux 内核性能分析工具 Perf 的实现原理、功能特点、安装与使用方法,以及其在性能优化中的应用场景和重要性。Perf 是一款强大的性能分析工具,能够帮助开发者深入理解系统性能问题并进行针对性优化。
- LWN:网络代码中着手处理冻结页!: LWN:网络代码中着手处理冻结页!这篇文章讨论了 Linux 6.14 内核引入的冻结页优化技术及其对性能的潜在影响,同时分析了网络子系统在应用该技术时遇到的问题和解决方案。
- androidweekly issue-669: androidweekly issue-669
- Flutter 教程(十四)动画: Flutter 动画教程介绍了动画的分类及其实现方式,包括补间动画、物理动画、隐式动画、显示动画、Hero 动画和交织动画。文章详细讲解了每种动画的定义、特点及代码示例,帮助开发者在 Flutter 中灵活运用动画技术。
- RecyclerView------ItemTouchHelper: 本文详细介绍了 RecyclerView 的辅助类 ItemTouchHelper 的使用及源码解析,包括其功能、构造方法、事件处理、拖拽与侧滑手势处理、以及实现拖动效果的原理。
- 为什么要慎用 Skia 多线程渲染?: Android 渲染通过 UI 线程和渲染线程的分离实现了多线程渲染,UI 线程负责更新 UI,渲染线程负责完成渲染指令。然而,使用多线程就不得不考虑到线程安全和死锁等问题,因此 Android 也设计了很多保护和限制。对于更新 UI 这项工作,Android 严格限制只能在 UI 线程中进行,如果在子线程中更新 UI 就会抛出一个异常------CalledFromWrongThreadException。对于进行渲染这项工作,Android 没有像更新 UI 那样直接限制成在非渲染线程中就抛出异常,所以开发者需要更加谨慎地使用使用多线程。本文将介绍一个笔者实际遇到的 AOSP bug,引出 Skia 单一使用者原则,分析 Google 如何实现对渲染的线程安全保护。
- 用于地址空间隔离的页面分配: 这篇文章主要讨论了一种用于内核地址空间隔离的页面分配技术,并分析了其设计理念、性能挑战以及在实际应用中的问题和解决方案。
- Android V app 冷启动(8) 动画结束: 本文详细解析了 Android V 应用冷启动过程中的 Transition 结束流程,包括 WMShell 和 WMCore 的工作机制、WallpaperWindowToken 的不可见提交、DisplayContent 的 transition finish 处理、屏幕方向更新与配置更新,以及 Fixed Rotation 的清理与应用。
- Flutter 伪 3D 绘制#1 | 三维空间: 该文章介绍了如何使用 Flutter 中的 Canvas 实现伪 3D 绘制,通过投影变换将三维点映射到二维平面,并绘制三维坐标系、空间点和旋转效果。文章详细讲解了数据定义、投影逻辑及绘制方法,并提供了代码示例。
- Flutter 伪 3D 绘制#02 | 地平面与透视: 本文介绍了如何在 Flutter 中绘制伪 3D 地平面网格,并通过数学投影逻辑实现透视效果,解决线条绝对平行带来的视觉违和感。通过动态调整参数,可以优化视觉体验,增强三维空间的表现力,为后续深入分析投影映射逻辑奠定基础。
- Flutter 伪 3D 绘制#03 | 轴测投影原理分析: Flutter 伪 3D 绘制#03 文章详细解析了轴测投影的原理,介绍了如何将三维空间的点映射到二维平面,包括等轴测投影的数学计算和应用场景。
- Kotlin 对 Android 整体编程有什么明显的改进,这几年自身有什么更新: 自 2017 年 Google 宣布 Kotlin 为 Android 官方语言以来,其对 Android 开发的革新体现在编程效率、代码质量、跨平台能力等多个维度,同时 Kotlin 语言自身也经历了重大技术演进。
杂记
- 程序员的自我修养 - 第二章 编译和链接: 程序员的自我修养 - 第二章编译和链接,详细探讨了从源代码到可执行文件的整个过程,包括预处理、编译、汇编和链接的步骤。文章通过示例代码和工具命令,深入剖析了各阶段的工作原理及其作用,并对编译器的工作流程进行了详细分析。
- 工作九年程序员的三月小结: 工作九年的程序员拭心分享了三月份的个人工作和生活总结,涵盖了合同续签、AI 项目进展、工具学习、宠物手术、租房搬家以及装修等内容。他对技术的简化趋势进行了反思,同时表达了对未来的焦虑与兴奋。
- 体验碎周报第 226 期(2025.3.31): 系统的知识来源于对碎片的整理和思考,为了更好地输出系统知识,记录本周我发现的体验设计和思考,为构建系统知识做准备。
- 自证陷阱能挖多深?: 这篇文章围绕"自证陷阱"展开,作者通过与一位质疑者的对话,分析了如何应对逻辑陷阱,尤其是"自证陷阱"和"动机陷阱"。文章探讨了创作者是否需要证明自己的创作真实性,以及如何避免陷入主观争论。作者最终总结了一些策略来脱离这些逻辑困境,并强调了在面对主观质疑时及时抽身的重要性。
- 健身是所有人的必修课: 这个文章探讨了健身的重要性以及作者个人的健身体验和感悟,强调健身不仅是一项身体活动,更是长期健康生活规划的重要组成部分。
- Python 潮流周刊#96:MCP 到底是什么?: 本周刊由 Python 猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。
- 草长樱飞的三月月报: 三月工作清闲,作者重新学习 Flutter 并开发了 FyMemos 客户端,同时利用每个周末进行户外活动,包括徒步和露营,感受春天的自然美景。阅读了阿德勒的《自卑与超越》和《读库 2502》中的西游相关内容,收获新视角。此外,开始跑步锻炼身体,改善体能,并经历了一次轻微交通事故。作者总结春天是感受自然的好时机,计划四月继续户外活动并努力提升自己。
AI
- 闲谈丨一名 AI 体验者的自述: 文章讲述了一位 AI 体验者从最初对 AI 工具的不屑一顾到深刻依赖的态度转变。他分享了 AI 对工作与生活的巨大影响,包括提升开发效率、减少对传统学习媒介的依赖,以及在代码分析和工具开发中的实际应用。同时,他也指出了当前 AI 仍有的一些局限性,并探讨了如何与 AI 共处的最佳方式。
- Awesome MCP Servers - Concise List: 该文章提供了一个关于 MCP 服务器的简洁列表,涵盖了多个领域的应用,包括浏览器控制、艺术与文化、云平台、命令行工具、通信、客户数据平台、数据库、开发者工具、数据科学工具、文件系统、金融科技、游戏、知识与记忆、定位服务、营销、监控、搜索以及实用工具等。每个部分列出了相关的 MCP 服务器及其功能和集成方式。
- BabelDOC: BabelDOC 是一个功能强大的 PDF 科学论文翻译和双语对比工具,提供在线服务和自部署选项。它支持英语到中文的翻译,具有丰富的命令行选项和 Python API,可用于文档处理和翻译。项目旨在解决 PDF 解析和翻译中的结构保留问题,并通过插件系统实现扩展。
- [译] AI 计算民主化 第七部分:如何看待 Triton 与 Python eDSLs?: 本文探讨了 AI 计算民主化背景下,Python 嵌入式领域特定语言(eDSLs)如何弥合易用性与性能之间的差距,重点分析了 Triton 及其优缺点,并对其他类似技术进行了对比。同时讨论了 eDSLs 的局限性、治理问题以及未来 AI 编译器的统一框架 MLIR。
- deepseek ai 输入法: 文章介绍了使用 Java 开发安卓输入法并接入 DeepSeek 实现 AI 聊天功能,提供了视频演示和开源代码地址,同时解析了技术细节,包括输入法服务类、布局文件和程序入口等,适合对 Android 开发和 AI 集成感兴趣的开发者参考。
- 从"首个 AI 软件工程师" Devin 2.0 的系统提示词看提示词工程的奥秘: 文章分析了 AI 软件工程师 Devin 2.0 的系统提示词,深入探讨了提示词工程的原理和应用。提示词不仅为 AI 设定了角色、任务和行为准则,还规定了工具使用、交互结构、安全规范以及特殊场景处理机制。这些提示词设计旨在提升 AI 的效率、安全性和任务执行能力,同时也揭示了提示词工程的复杂性和潜在风险。
- 为什么靠 AI"什么都懂一点",却并不能真正变专业?: 现在,很多人都对 AI 抱着一个幻想:我可能不是很专业,但如果借助 AI,不就能轻松变成专业人士了吗?确实,AI 在某些方面给了我们这样的错觉,比如稍微懂一点编程的人,可以轻松地用 AI 写出一个小程序的原型;不怎么懂设计的人,可以通过 AI 快速生成看起来不错的海报。然而,这种"什么都懂一点"再靠 AI 加持就能变专业的想法,其实是一种误解,甚至可能是一种危险的误解。
投稿指南
欢迎投稿分享您的:
- 技术博客
- 实践经验
- 工具推荐
投稿方式:
- 公众号后台回复"投稿"
- 本周刊下面留言
- 发邮件 :[email protected]
- 微信联系:Gracker_Gao
关于作者
下面是个人的介绍和相关的链接,期望与同行的各位多多交流,三人行,则必有我师!
- 掘金 - Gracker:juejin.cn/user/181684...
- 知乎 - Gracker:www.zhihu.com/people/grac...
- 个人博客 - Android Performance: 写东西的地方
- 个人介绍 - 欢迎加微信群组多多交流 :里面有个人的微信和微信群链接。
- 个人整理和搜集的优秀博客文章 - Android 性能优化必知必会 :欢迎大家自荐和推荐 (微信私聊即可)
- 微信公众号 Android Performance :
- Android 性能优化知识星球 : 个人运营的一个知识星球,欢迎加入,多谢支持~
版权声明
- 本周刊遵循 CC BY-NC-SA 4.0 协议
- 转载请注明出处:Android Weekly 第 X 期
- 欢迎订阅、分享,让更多开发者受益