Android Performance

Android Weekly 2025-12 期

Word count: 8.3kReading time: 29 min
2025/03/31
loading

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

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

技术文章

  1. Android Vulkan 官宣转正并统一渲染堆栈 ,这对 Flutter 又有什么影响?: Android Vulkan 官宣转正并统一渲染堆栈,这标志着 Vulkan 成为 Android 唯一的 GPU 硬件抽象层(HAL),所有应用和游戏将必须基于 Vulkan 实现。为解决 OpenGL 和 Vulkan 的兼容性问题,ANGLE 被引入作为兼容层。此外,Google 通过 Vulkan 配置文件(VPA)提高一致性,并与 Unity 和联发科合作优化性能。对于 Flutter,Android 的碎片化对 Impeller 的落地带来挑战,但未来可能通过 ANGLE 和 Vulkan 的普及改善这一状况。
  2. 移动 OS 设计之性能设计 3 - 专制型资源管理策略至关重要: 文章探讨了移动操作系统在资源管理和服务质量保障方面的设计策略,强调专制型资源管理的重要性,特别是在面对复杂、多任务的移动环境时。文章通过对比安卓和苹果的设计理念,分析了资源分配、优先级管理以及容量规划等关键策略。
  3. 移动 OS 设计之性能设计 4 - 服务质量信息的传递: 这篇文章的主要内容是基于第三篇文章「移动 OS 设计之性能设计 3 - 专制型资源管理策略至关重要」的内容。在那篇文章中,我提到移动 OS 相较于以往的操作系统,其计算能力和设备资源都有限。因此,移动 OS 的服务质量需要被明确界定。这种服务质量的体现强调的是可预期的表现。在某些业务场景中,服务并不是越快越好,而是在设备资源的限制下,提供符合用户预期的服务即可。在明确了服务质量的划分后,随之会引发其他问题。实际上,所有的技术方案都是如此。在软件领域中没有所谓的“银弹”,即不存在一个万能的解决方案。每一个方案在解决某个问题的同时,往往会引发新的问题。而这些新的问题则需要通过其他方案来解决,直到这些问题被转换为在其他层面上可接受的问题,或者被等价地转换成用户并不关心的问题。
  4. 如何配置 Clion 编写 aosp 的 c++程序: 这篇文章介绍了如何在 Clion 中配置并编写 AOSP(Android 开源项目)的 C++程序,主要适用于无法使用 ASFP IDE 的环境。文章详细说明了使用 AIDEGen 工具生成 CMakeLists 文件的方法,并提供了对 CMake 文件的修改建议及 Clion 索引优化配置步骤。
  5. AI 时代的性能分析:GPU Profiling 初探: 在 CPU 优化的过程中,例如我们遇到 CPU 打满的情况,我们可以通过 perf 等工具进行 Profiling,然后将数据可视化成火焰图等形式进行分析;同样的,在 GPU 的优化过程中,我们也可以通过 Profiling 来进行性能优化。
  6. 再次勇闯稳定性岗位!vivo 社招面经——linux 系统工程师(底软稳定性与性能): 今天再一次给大家带来稳定性方向的面经,希望通过我的面经,让更多的人了解这个“神秘”的岗位,让更多的人了解稳定性到底问什么。
  7. 利用内存页筛选法手撕内存越界行为: 本文详细介绍了如何利用内存页筛选法定位内存越界问题,结合实际案例分析,探讨了内存踩踏的直接原因、间接原因,以及如何通过调整参数解决问题,并对内存分配器 Scudo 的特性进行了深入讨论。
  8. Flutter 新一代状态管理框架 signals ,它究竟具备什么魔法和优势: Flutter 新一代状态管理框架 signals,通过自动状态绑定和依赖追踪实现了高效的状态管理。文章详细分析了 signals 的工作原理、与其他框架的对比以及其在 Flutter 中的应用方式。
  9. 程序员的自我修养 - 第一章 温故而知新: 《程序员的自我修养》第一章通过从底层硬件到上层应用的层层解析,阐述了计算机系统的基本架构、操作系统的核心功能以及多线程与内存管理等关键概念。文章以“温故而知新”为主题,帮助读者理解计算机科学的基础知识,并通过历史发展和现代技术的对比,揭示了技术的演进和核心不变的本质。
  10. 高通 Oryon 处理器微架构分析: 高通浓眉大眼又开始搞起了 CPU 设计,以前没什么反响,基本还是用 ARM 公版的核,自从 2021 年收购了 Nuvia,情况变得不一样了,这个公司是苹果 M1 的团队一些成员出走而创立的公司,原本是要搞服务器的,高通收购后又开始搞 PC 和手机端的核,这个公司的收购对高通的发展影响巨大,Oryon 的成功意味着高通不仅挤入了自研 CPU 的第一梯队,还标志着高通具备了 SoC 上所有核心组件自研的能力,并且都是先进水准,比如基带,GPU 这些。为此还和 ARM 对簿公堂,ARM 最后输掉了官司。今天我们看看这款高通“大核”Oryon 的微架构设计。
  11. 编译器是什么,它又能做什么?: 编译器是将程序员编写的代码翻译为机器码的工具,在安全性、性能优化和开发体验等方面发挥重要作用。文章通过 Ken Thompson 的“编译器幽灵”事件引出编译器的重要性,详细讲述了编译器在安卓系统中的应用及其优化方法,并探讨了 AI 领域对编译器需求的扩展,强调了编译器在现代计算生态中的核心地位。
  12. 聊一聊安卓 WallpaperService 壁纸窗口触摸事件接收原理-第一篇: 在使用 android 手机时候,大家壁纸可能一般都是使用的静态壁纸,静态壁纸一般就是设置一张静态,这种静态壁纸因为是固定的一张图片,所以对壁纸触摸交互这块需求比较少,但是如果设置的是一个动态壁纸,那么这个触摸交互需求就会大大增加。
  13. android studio Debug 安卓 aosp 源码 userdebug 版本看不到局部变量怎么办?: 安卓 aosp 源码 userdebug 版本调试时无法看到局部变量的解决方法,文章分析了问题原因并提供了解决方案,包括使用 eng 版本和修改代码等,同时提出了更彻底的解决方法,通过 eng 版本编译特定模块并覆盖 userdebug 版本的方式来实现局部变量的显示。
  14. Linux 6.10 | CPU 调度: 本文基于 MTK 平台和 Linux Kernel 6.1,围绕 CPU 调度机制进行了分析,重点探讨了唤醒场景下的选核策略、能耗优化方法以及负载均衡等内容。通过多个案例和代码解析,展示了 MTK 平台的调度策略如何在不同场景中实现任务的高效分配,同时也指出了复杂调度策略可能带来的副作用。
  15. LWN:2025 疯狂的 mapcount!: 内核的内存管理子系统必须处理的众多重要任务之一,是跟踪内存页如何映射到系统上运行的进程的地址空间。只要存在到给定页面的映射,就必须保持该页面的存在。事实证明,跟踪这些映射比看起来应该的要困难,并且内存管理子系统内向 folios (页组)的迁移正在增加其自身的复杂性。作为 “mapcount madness” 会议的后续,David Hildenbrand 在 2024 Linux 存储、文件系统、内存管理和 BPF 峰会上发布了 一个补丁系列,旨在改进 folios 的映射计数处理 — 但在某些情况下,精确的跟踪统计仍然难以实现。
  16. 我对 Android Looper 的重新设计: 这篇文章探讨了对 Android Looper 的重新设计,提出通过使用 ConcurrentSkipListSet 跳表优先级队列优化消息插入效率,并引入消息分级机制(高优先级、普通、低优先级、闲置消息)来提升系统性能和 UI 流畅性。设计重点包括优先处理 vsync 等关键 UI 消息、通过 barrier 屏障实现异步处理、优化广播和服务的响应及时性,以及避免低优先级消息饥饿问题,同时建议精简线程以减少资源消耗。
  17. 任务被唤醒后在哪个 CPU 跑?wake_affine 和 select_idle_sibling: 在 Linux 内核中,若任务 A 唤醒任务 B,则 A 被称为 waker;而 B 被称为 wakee。由于 B 原先是睡眠的,现在醒来,它需要找一个 CPU 来跑它,找哪个 CPU 来跑呢?这里是有学问的。唤醒的同时往往伴随着通信(共享数据的访问),比如很可能是 A 在管道、socket 里面写了数据唤醒 B 去读;或者 A 写了一片数据到共享内存,通知 B 去读。这个时候任务 B 醒来后,迁移到 A 所在的 CPU 或者与 A 所在 CPU 最亲近的 CPU 跑,则可能更容易命中 A 写入的 hot-cache(当然也需要综合考虑 B 以前所在的 CPU、A 所在的 CPU,A 与 B 之间的拓扑关系以及 A 和 B 各自 runqueue 的繁忙程度)。
  18. Media3 1.6.0 — what’s new?: Android 开发者博客:Media3 1.6.0 有哪些新功能?
  19. 实战:在 Compose 中优雅地实现提示: 本文详细讲解了如何在 Jetpack Compose 和 Compose Multiplatform 中优雅地实现提示功能,包括背景覆盖、锚点坐标计算、形状剪辑、提示绘制以及提示控制等内容,并提供了完整的代码示例和实现步骤。
  20. Kotlin 中那些无法复现的 Java 写法: Kotlin 对 Java 是 100% 兼容的,正如官方所说。 可即便如此,这就代表 Java 中所有的写法就都能在 Kotlin 中复现出来吗?倒也未必。 今天我就来简单盘点一些我发现的那些在 Kotlin 中无法复现出来的 Java 写法。
  21. 地图之 Compose 轻松绘制,可视化带点击事件,可扩展二次开发: 本文详细介绍了如何在 Android 中使用 Compose 实现地图可视化,包括从 SVG 数据到 Vector.xml 的处理、地图大小和边距的调整、点击事件的实现等,并提供了完整的代码示例与封装好的库供开发者使用。
  22. NativeAllocationRegistry—-通过绑定 Java 对象辅助回收 native 对象内存的机制: 本文详细介绍了 NativeAllocationRegistry 类在 Java 和 Native 内存管理中的应用,尤其是在 Java 对象被垃圾回收后如何自动释放相关的 Native 对象内存。文章分为背景、原理、手动释放和自动释放的具体实现,并提供了代码解析和机制说明。同时提到了一些与此机制相关的应用场景,如 Bitmap 内存释放和 LeakCanary 的内存泄漏检测。
  23. 利用 bytehook 修复 EGL_BAD_ALLOC 异常: 利用 bytehook 修复 Android 低版本(<=Android 9)中因系统 Bug 导致的 EGL_BAD_ALLOC 异常问题,通过 hook 函数解决空 Surface 引发的 fatal 异常,并提供了相关代码实现与分析。
  24. Flutter 知识集锦 | 获取函数调用栈: 本文介绍了 Flutter 开发中如何获取函数调用栈信息的几种方法,包括异常时的调用栈信息、捕捉异常时的调用栈信息,以及在任意位置主动获取调用栈信息的方式。文章强调了函数调用栈信息在问题定位、源码分析及日志记录中的重要作用。
  25. Make WebViews edge-to-edge: 这篇文章介绍了如何在 Android 应用中确保 WebView 与“边到边”显示兼容,特别是在 Android 15 和 16 中强制实施边到边绘制的情况下。文章详细讨论了如何处理 WebView 的插图(Insets),以及如何根据应用是否拥有网页内容来采取不同的实现方法,包括通过 JavaScript 注入插图或调整容器的填充。还提到了如何处理输入法(IME)插图以确保键盘弹出时内容不会被遮挡。
  26. 【笔记】Android 耗时统计: 这篇文章主要介绍了在 Android 开发中如何通过 OnFrameMetricsAvailableListener 和 Choreographer 来监控 UI 性能指标,分析卡顿问题并优化应用流畅度。
  27. 使用 Perfetto 进行流畅度分析: 本文详细介绍了如何使用 Perfetto 工具进行流畅度分析,包括抓取 Trace 文件、分析卡顿原因、使用快捷键提升效率,以及结合日志进行可视化分析等内容。
  28. 关于 Perfetto 分析 Trace 耗时问题排查: 本文详细分析了 Perfetto 工具中 Trace 耗时问题的排查方法,涵盖了主线程、渲染线程、GL 线程、SurfaceFlinger、Display 及性能问题等多个方面的耗时情况,并提供了原因说明及优化建议。
  29. 又解一个 bug - Fragment 异常显示问题: 首页文章分析了一个 Android 开发中关于 Fragment 显示与隐藏的异常问题,并详细探讨了 FragmentTransaction 的 hide 方法实现原理及其潜在的坑点。作者通过案例分享了如何避免类似问题,并提出了设计跨平台框架时的优化建议。
  30. Perfetto 上手指南 2 —— 基础使用: Perfetto 上手指南 2 —— 基础使用,介绍了 Perfetto 的基础操作和界面功能。文章详细说明了如何进入 Perfetto Trace 分析界面、界面基本内容及其操作方法,包括快捷键使用、标记操作、插旗子和 Pin 操作等。文章还对 Trace 内容区的主要元素(如 slice、counter、CPU Sched Slice、thread_state)进行了说明,帮助用户更好地理解和使用 Perfetto 进行性能分析。
  31. 开发 PopTranslate 背后的故事: 图拉鼎开发者分享了新产品 PopTranslate 的开发历程与背后故事。这款 macOS 原生工具以 AI 引擎为核心,提供翻译、解释和重写功能,旨在提升用户效率和体验。文章详细介绍了从前一款产品 MarkMark 的疲惫开发状态到探索新方向的过程,并描述了与妻子的合作、设计开发过程以及未来的展望。
  32. lld 链接器:链接驱动和基本使用: 链接是由源代码构建生成可执行文件的最后一个逻辑环节,它的输出就是可执行文件 EXE 或动态链接库 DSO。
  33. lld 链接器的运行流程(1)——主干流程: 接前文(lld 链接器:链接驱动和基本使用) 对 lld 基本情况的介绍,本文和后续文章介绍 lld 实现的 ELF 格式文件的链接流程
  34. lld 中的重定位:原理、流程与数据结构: 接前文对 lld 核心流程(lld 链接器的运行流程)的介绍,本文继续介绍 lld 对链接中一个核心机制的实现——重定位。
  35. Android×AI 技术周刊 - 第 3 期: 本期周刊既有 Android 生态的更新,也有 AI 领域的开源黑科技与实战指南!无论你是想抢先体验 Android 16 Beta 的能力,还是探索 AI 多模态生成、智能体开发的前沿技术,这里都有不容错过的干货。
  36. Android× 鸿蒙 ×AI 技术周刊 - 第 4 期: Android× 鸿蒙 ×AI 技术周刊 - 第 4 期总结
  37. vLLM 深度解析:production stack: 本文资料来自 vLLM Office Hours 第 21 次会议的记录,时间是 2025 年 3 月 6 日,主题是 vLLM 生产堆栈的深度探讨。主讲人包括 Red Hat 的 Michael Goin 和 Yihua Cheng。会议内容涉及 vLLM 的最新动态、production stack 的架构、性能优化、未来路线图等。
  38. vLLM 深度解析:Deekseek and vLLM -1: 本文资料来自 vLLM Office Hours 第 20 次会议的记录,时间是 2025 年 2 月 27 日,主题是要讨论 vllm 对于 deepseek 的更新,内容丰富。
  39. kotlin-weekly-450: kotlin-weekly-450
  40. Issue #666: Android Weekly 第 666 期,真是 6 ~

杂记

  1. 致敬“普通”的工程师——一位软件工程师对“10 倍工程师”神话的质疑与反思: 本文由 Honeycomb.io 联合创始人兼 CTO Charity Majors 撰写,探讨了“10 倍工程师”这一概念的局限性,并强调团队合作和构建支持普通工程师高效工作的系统的重要性。作者认为,软件开发的真正价值在于团队整体的效率,而非个别工程师的超凡能力。
  2. Age is a problem at Apple: 作者批评苹果董事会和领导团队年龄过于老化,平均年龄分别为 68 岁和 60 岁,缺乏年轻视角和多样性,导致决策与年轻用户需求脱节,例如 AI 产品的设计问题。他呼吁苹果引入“新鲜血液”,平衡经验与创新,以应对技术行业快速变化的挑战,并以 Meta 董事会更年轻的年龄结构为对比,强调年轻领导者的重要性。
  3. 技术管理思考:工作中人性问题: 所有不符合逻辑事情不要干!整体和端到端审视,一定要逻辑自洽。
  4. 科技爱好者周刊#342:面试的 AI 作弊——用数字人去面试: 这里记录每周值得分享的科技内容,周五发布。
  5. 2024 年总结: 这篇文章是作者对 2024 年的总结,内容涵盖了写作、社区建设、生活、工作和新年计划等方面的回顾与展望。作者回顾了过去一年的成就与挑战,并展望了未来的目标,强调了身心健康和生活平衡的重要性。
  6. 我认识的最差程序员: 衡量开发者生产力最棒的一点是,你能快速识别出差劲的程序员。今天我要和你讲讲我所认识的最差程序员,以及为什么我拼了命也要把他留在团队中。
  7. 下一个“N 年思考”: 这篇文章记录了作者在技术领域的职业成长和思考,分享了他在过去几年中围绕技术核心问题所取得的成就,以及对未来技术方向的探索和挑战。他详细描述了在软件工程、DFX 能力建设、跨设备诊断、AI 与软件工程结合等方面的实践与成果,同时提出了一些未解决的问题和未来的努力方向。
  8. AI 时代下的工程领导力:如何打造高效团队 - 来自谷歌工程负责人、Chrome 开发者的宝贵经验分享: 今天偶然读到 Chrome 开发者、Google 工程负责人、著名技术书籍作者 -Addy Osmani 的一篇文章「Leading Effective Engineering Teams in the Age of GenAI」,讲的特别好,对于产品和研发方向如何变得高效,不管你是团队领导者、还是团队成员,都很有价值,分享给朋友们
  9. Leading Effective Engineering Teams in the Age of GenAI: 这篇文章探讨了在生成式人工智能(GenAI)时代,如何有效领导软件工程团队,重点在于技术领导力的演变、AI 工具的使用策略、团队技能提升、以及 AI 技术对工程师职业发展的影响。文章还提供了实际案例研究和未来领导力的方向。
  10. AppStore 首页推荐后,依然月入不足 3000,独立开发两年血泪复盘: 这篇文章是一位独立开发者对其两年独立开发生涯的复盘与反思。尽管曾获得 AppStore 首页推荐并得到用户好评,但因收入不足以维持生计,最终选择放弃全职独立开发。作者分享了失败的原因、独立开发的经验教训,以及对产品推广和商业化的深刻理解,同时也提出了对未来独立开发方向的建议。
  11. 谷歌决定闭源 Android?Fake News!: 谷歌将继续开源 Android,但开发流程将更为私密化。媒体误传谷歌将闭源 Android,实际情况是某些模块的开发早已是私有化的。谷歌此举旨在提高效率和版本发布速度,但会对开源贡献者和技术爱好者产生一定影响。
  12. Google 调整 Android 开源政策,核心开发全面转向私有分支,这将对行业产生什么影响?: 谷歌调整了 Android 开源政策,其核心开发全面转向私有分支。这一变化对手机厂商、应用开发者、技术爱好者以及没有与谷歌合作的设备厂商产生了不同程度的影响。主要原因可能包括降低成本、提高效率以及 Android 生态的逐步成熟。
  13. 给 IT 年轻人职业建议 5(在工作中找到乐趣): 一个人职业生涯中,工作和兴趣完全匹配几乎不存在。工作中往往是一些枯燥繁琐的事情,如改不完的软件的 BUG,写不完的汇报材料,还有开不完的低效会议,及其周边团队无意义的推卸拉扯。技术人员更喜欢安静的做做设计,写写代码,读读代码,学学新技术等。理想的工作是不存在的,那就需要在日常工作中找到一些乐趣。怎么找到乐趣其实一句话就是学会“上下求索,好奇心”。

AI

  1. 关于 DeepSeek 我是怎么研究的(5): 文章详细介绍了 DeepSeek-R1 模型的研究背景、训练过程和性能评估,阐述了其通过结合强化学习和冷启动数据的微调来提升推理能力,并在多个基准测试中表现优异。
  2. 4 段超神提示词解锁 Claude 3.7 能力上限: Claude 在升级到 3.7 之后,能力获得了大幅提升,在前端编程方面已经远远超出其他模型,重新定义了 AI PPT 的概念,我已经把所有图表都交给 Claude 3.7 用代码直接写了。最近一直想把方法分享给大家,但苦于没有精力动笔,刚好我的朋友归藏做了一些研究,向阳乔木做了一些延展,写出了这篇很棒的文章。
  3. DeepSeek 赋能 A 股交易:用 AI 让你快人一步!: 用 AI 赋能 A 股交易:DeepSeek 工具解析市场动态,助你快人一步!
  4. sonnylazuardi/cursor-talk-to-figma-mcp: 此项目实现了 Cursor AI 与 Figma 之间的模型上下文协议(MCP)集成,允许 Cursor 以编程方式读取和修改 Figma 设计。提供了详细的安装、使用指南以及功能工具列表,用于设计文档操作、元素创建、样式设置、布局调整等。
  5. [译]AI 计算民主化 第一部分:DeepSeek 对 AI 的影响: DeepSeek 对 AI 的影响 探讨了 DeepSeek 技术如何通过创新方法减少对昂贵硬件的依赖,推动 AI 算力民主化。文章回顾了作者 Chris Lattner 的职业生涯,强调了软硬件协同设计、共享基础设施的重要性,并提出解决 AI 算力生态挑战的思路。文章还是系列内容的开篇,核心围绕 CUDA 技术及其影响展开深入探讨。
  6. [译]AI 算力民主化 第二部分:究竟何为“CUDA”?: 本文是“AI 算力民主化”系列的第二部分,深入解析了 CUDA 的技术内涵、历史演进及其在现代 AI 计算中的核心地位。文章详细阐述了 CUDA 作为一个完整生态系统的多层次架构,并探讨了其发展历程及对 AI 领域的深远影响。
  7. [译]AI 算力民主化 第三部分:CUDA 是如何成功的?: 本文深入解析了 CUDA 在 GPU 计算领域取得统治地位的原因,探讨了其技术优势、战略执行、生态系统锁定效应以及 AI 发展的历史机遇。文章还分析了英伟达如何通过软硬件深度耦合、跨代兼容性和开发者生态建设,成功巩固了 CUDA 在深度学习、生成式 AI 等领域的核心地位。
  8. [译]AI 算力民主化 第四部分:CUDA 虽为现有主导者,但它真的完美吗?: 本文探讨了 CUDA 作为 AI 计算领域的主导技术,其优势与局限性。从开发者视角分析了 CUDA 对 AI 工程师、性能优化工程师以及跨平台开发者的影响,同时指出了其复杂性、技术债务和供应商锁定效应对未来 AI 发展的潜在挑战。文章还提及了英伟达如何利用 CUDA 巩固其市场地位,但也面临创新与兼容性之间的矛盾。
  9. Perfetto 快速上手指南 1 —— Trace 的抓取: Perfetto 是 google 从 Android10 开始引入的一个全新的平台级跟踪分析工具。它可以记录 Android 系统运行过程中的关键数据,并通过图形化的形式展示这些数据。Perfetto 不仅可用于系统级的性能分析,也是我们学习系统源码流程的好帮手。
  10. [译]AI 算力民主化 第五部分:CUDA C++替代方案(如 OpenCL)现状如何?: 本文探讨了 CUDA C++替代方案(如 OpenCL)的现状,分析了其技术优势、局限性以及未能成为 AI 计算领域主导平台的原因。文章详细阐述了 OpenCL 的历史背景、技术缺陷、行业竞争与协作的挑战,以及与现代 AI 需求之间的脱节。同时,文章对 NVIDIA 通过 CUDA 与 AI 框架的协同设计所取得的成功进行了对比,总结了成功系统的关键要素,并提出了对未来 AI 编译器发展的思考。
  11. [译]AI 算力民主化 第六部分:TVM 和 XLA 等 AI 编译器现状?: 本文探讨了 AI 编译器(如 TVM 和 XLA)的现状及其在 AI 算力民主化中的角色,分析了其技术优势与局限性,同时对生成式 AI 的兴起如何改变 AI 编译器需求进行了深入剖析。文章还引用了 TVM 和 XLA 的经验教训,并提到了 MLIR 和 Triton 等新兴技术可能带来的突破。
  12. 全新 DeepSeek V3 发布,代码能力大幅提升: DeepSeek V3 更新 0324 版本,应该是基于 V3 继续训练的产物。
  13. 在 ChatWise 中使用 MCP 工具: MCP (Model Context Protocol),也就是模型上下文协议,是一个让模型访问外部资源的规范,由 Claude 的开发商 Anthropic 提出。开发者可以根据 MCP 规范实现一些服务 (server),然后模型可以通过这些服务获取额外的能力和上下文,比如使用网络搜索、操控外部浏览器等等。
  14. “聊天式编程”让代码听你的话:Cursor 打造极致心流体验: 最近半年深度体验了 Cursor,享受到了很多乐趣,这篇文章将分享对于 Cursor 的一些实践与思考。
  15. 闲谈丨一名 AI 体验者的自述: 这篇文章是一名 AI 体验者的自述,分享了 AI 技术对其生活和工作的深刻影响,以及如何通过 AI 提升效率、解决问题。同时文章也探讨了 AI 的局限性以及如何正确使用 AI 的思考方式。
  16. Android 使用 Edge-to-Edge 实现沉浸式状态栏详解: 在 Android 中实现 Edge-to-Edge 布局(内容延伸到状态栏和导航栏下方)并适配不同版本、刘海屏/挖孔屏设备,需要综合处理系统栏的显示、颜色、安全区域和兼容性问题。以下是分步骤的完整实现方案

书籍推荐

Android 性能优化之道

这是一套从 Android 性能优化本质入手,指导读者实现从硬件层到操作系统层再到应用层全面优化的实战方法论。本书由 Android 方向 Google 开发者专家撰写,融合了作者 10 年大厂实战经验,其中不仅包括作者实操过的监控、优化、防劣化等方向的各种典型案例,还包括多个实战小技巧,可以帮助读者解决工作中遇到的 90%以上的能优化问题。
本书内存、速度和流畅性、稳定性、包体积、耗电、磁盘占用、流量、降级这 8 个方向的性能优化内容。这些内容方向均从原理和实战两个维度进行解读。其中,原理部分直指优化的本质,不仅包括相关基础知识,还包括性能优化的底层逻辑;实战部分以指导读者实操为主要目标,以案例为主要讲解形式,深度解读作者精心总结的各种实战案例中用到的技术和原理。本书基于 Android 14 撰写,但也会涉及 Android 14 以外的其他 Android 版本的源码。

jd:Android 性能优化之道

打通 Linux 操作系统和芯片开发

为什么选择写打通操作系统和芯片开发的内容?我们知道计算机是个变化极快的行业,特别是从事互联网行业的朋友,经常面对技术的更新,开发语言的迭代,每天过的都很焦虑,随着新人的入职,技术的变化,老人的技术经验似乎无法得到发挥,这也是为什么都说程序员有 35 岁失业的根本原因。那么技术更新不那么快的行业是不是就好点了呢?的确如此,比如更加底层的嵌入式行业,操作系统行业,芯片行业等都会比互联网行业好很多,特别是同时懂软件和硬件的工程师,甚至随着时间的推移,越老越吃香,而且国家越来越重视底层技术的开发。即便是在互联网行业,如果你对底层技术有着深厚的积累,依然可以很有竞争力,就相当是拥有了武侠片中的内功,一旦有了雄厚的内功,其它武功你一看就明白,一学就会,任何招式你和别人打出去的威力就不是一个级别。这种帮助无论对嵌入式开发者,还是对互联网程序员都是非常明显的。

jd:打通 Linux 操作系统和芯片开发

鸡血

星球

满 500 人了,顺便打个广告。这段时间忙完了,开始要系统性输出了~ 也欢迎加入星球的同学预约一起看 Trace ~

投稿指南

欢迎投稿分享您的:

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

投稿方式:

  • 公众号后台回复”投稿”
  • 本周刊下面留言
  • 发邮件 :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. 微信公众号 Android Performance
  7. 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. 打通 Linux 操作系统和芯片开发
  5. 5. 鸡血
  6. 6. 星球
  7. 7. 投稿指南
  8. 8. 关于作者
  9. 9. 版权声明