<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Android Weekly</title>
  
  <subtitle>高质量 Android &amp; Linux &amp; iOS &amp; Flutter 技术文章导读</subtitle>
  <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/atom.xml" rel="self"/>
  
  <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/"/>
  <updated>2025-08-02T16:00:00.000Z</updated>
  <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/</id>
  
  <author>
    <name>Gracker</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>Android Weekly #57</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-08-03-Android-Weekly-57/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-08-03-Android-Weekly-57/</id>
    <published>2025-08-02T16:00:00.000Z</published>
    <updated>2025-08-02T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-57"><a href="#Android-Weekly-57" class="headerlink" title="Android Weekly #57"></a>Android Weekly #57</h1><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><a href="https://androidperformance.com/2025/08/02/Android-Perfetto-07-MainThread-And-RenderThread/">Android Perfetto 系列 07 - MainThread 和 RenderThread 解读</a>: 本篇是 Perfetto 系列文章的第七篇，主要介绍 Android App 中的 MainThread 和 RenderThread，也就是大家熟悉的主线程和渲染线程。文章会从 Perfetto 的角度来看 MainThread 和 RenderThread 的工作流程，涉及卡顿、软件渲染、掉帧计算等相关知识。</li><li><a href="https://juejin.cn/post/7531846123183767562">Android 性能优化：提升应用启动速度(GC 抑制)</a>: 在移动应用开发领域，启动速度是用户体验的重要指标。对于 Android 应用而言，垃圾回收（Garbage Collection, GC）机制虽然是内存管理的核心，但在应用启动期间频繁触发 GC 会显著拖慢启动速度。本文将深入探讨如何通过 GC 抑制技术优化 Android 应用的启动性能。</li><li><a href="https://juejin.cn/post/7531888045412663348">憋了一周了，12000 字深入浅出 Android 的 Context 机制</a>: 该文章深入探讨了 Android 中 Context 的机制，包括其定义、功能、层次结构、与系统服务的交互以及在进程和组件生命周期管理中的作用。文章详细分析了 Context 的不同类型（如 Application Context、Activity Context、Service Context 等），以及 Context 在 Android 系统架构中的关键角色。</li><li><a href="https://juejin.cn/post/7531649728302514217">Android 嵌套滑动设计思想</a>: 本文详细介绍了 Android 嵌套滑动机制的设计思想，包括自定义 View 的实现问题、NestedScrolling 接口的作用、CoordinatorLayout 的功能以及 AppBarLayout 的实现细节。通过这些内容，读者可以深入理解嵌套滑动的原理及其解决方案。</li><li><a href="https://zhuanlan.zhihu.com/p/1933123688951165800?share_code=FYi9XHHjhVdP&utm_psn=1933618149196042257&utm_source=wechat_session&utm_medium=social&s_r=0">技术简报 2025 第六期（Perfetto 专项）</a>: 本期技术简报聚焦 Android 性能分析工具 Perfetto，梳理了业界优质学习资料与实战案例，强调通过问题驱动和案例分析深入掌握 Perfetto 的使用与原理，并简要介绍了其低开销、统一数据源和生产者-消费者隔离等核心架构设计，建议结合官方文档和源码进一步深入学习。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247494476&idx=1&sn=f93508b4cd90671e264e08f6782da307&chksm=cff99ac77c3390df5ca7866f69b2c538ae185fa48215b47e0aa505449230bd5ede171dfa9b8b&mpshare=1&scene=1&srcid=0730b6tcA3TMOXmMz5oj6hXy&sharer_shareinfo=afda3735a613e8cd5af035b90ece7dc9&sharer_shareinfo_first=afda3735a613e8cd5af035b90ece7dc9">Flutter 里的 Layer 解析，带你了解不一样角度下的 Flutter 渲染逻辑</a>: Flutter 里的 Layer 解析，带你了解不一样角度下的 Flutter 渲染逻辑。文章详细介绍了 Flutter 中 Layer 的概念及其在 Dart 层和 C++ 层的实现，涉及 Layer 的更新机制、类型分类以及 PlatformViewLayer 和 TextureLayer 的底层渲染原理。通过分析 LayerTree 的构建和光栅化过程，帮助读者理解 Flutter 渲染机制的核心逻辑。</li><li><a href="https://sspai.com/post/100983">探寻 Liquid Glass 的实现原理</a>: 苹果在 iOS 26 中推出的 Liquid Glass 效果通过多层 CALayer（高光、阴影和内部形变模糊）及私有的 CABackDropLayer 和 SDFLayer 实现，结合了动态背景跟踪和 Signed Distance Fields（SDF）物理融合技术，带来高度可调和真实的玻璃视觉体验，但其性能消耗约为传统高斯模糊的两倍，对设备性能提出了更高要求。</li><li><a href="https://zhuanlan.zhihu.com/p/1918758039512646612?share_code=FzDMJa6GqIgz&utm_psn=1934296795837596329">安卓实现 iOS 26 的 Liquid Glass 部分效果</a>: 首页文章介绍了一项安卓开发技术，用于实现 iOS 26 的 Liquid Glass 部分效果。作者分享了相关的开源代码和技术细节，并与其他用户进行了讨论，包括折射效果、核心代码开源、下载问题等。</li><li><a href="https://zhuanlan.zhihu.com/p/129095380?share_code=10SIvMQuTnA5z&utm_psn=1934623327701402882&utm_source=wechat_session&utm_medium=social&s_r=0">漫谈 HDR 和色彩管理（一）光、颜色和色度图</a>: 本文详细探讨了 HDR 和色彩管理的基础知识，涵盖了光和颜色的定义、视觉感知过程、颜色匹配函数及相关色彩空间的演变与优化。通过科学原理和实验数据，解释了人眼如何感知颜色以及如何量化和表示颜色，最终引入了 CIE 1931 色度图作为标准化讨论颜色的工具。</li><li><a href="https://juejin.cn/post/7533641415130628105">Android 性能优化（六）使用 Callstacks Sample 和 Java&#x2F;Kotlin Method Recording 分析方法的耗时</a>: 首页文章介绍了如何使用 Android Profiler 工具中的 Callstacks Sample 和 Java&#x2F;Kotlin Method Recording 来分析方法耗时。文章详细比较了两者的功能和区别，并提供了设置与使用指南。此外，还介绍了性能分析相关的工具和概念，如 Profileable app、Debuggable app、火焰图、调用图等。</li><li><a href="https://juejin.cn/post/7533529145315409970">Android 性能优化（五）使用 Heap Dump 分析内存 </a>: 这篇文章详细介绍了 Android Profiler 工具中的 Heap Dump 功能及其使用方法，帮助开发者优化 Android 应用的内存性能。文章涵盖 Heap Dump 的启动、界面操作、内存分配过滤、类列表分析、内存泄漏排查等内容，并提供相关注意事项和参考资料。</li><li><a href="https://androidweekly.net/issues/issue-686">Android Weekly issue-686</a>:</li><li><a href="https://juejin.cn/post/7533048503934812169">一次 Android 下载优化，CDN 消耗占比从 50+%到 1%</a>: 一次 Android 下载优化，CDN 消耗占比从 50+%到 1%，文章介绍了 Android 应用中字体下载的优化过程。原先的逻辑导致大量不必要的字体下载，消耗了高额的 CDN 费用。通过分析问题，提出按需加载字体、版本管理、即时刷新视图以及增强管理机制等优化方案，并提供未来改进方向和对技术债务的思考。</li><li><a href="https://zhuanlan.zhihu.com/p/1933824856870332318">读《https://perfetto.dev/docs》</a>: 本文总结了 Perfetto 官方文档的核心要点，强调性能分析的本质在于让软件更高效，涉及 Tracing 和 Profiling 两大技术，Perfetto 能够同时支持两者的数据采集与可视化。文章还介绍了性能指标的两种收集方式、复杂系统分析的关注重点，以及调试调度阻塞的实用案例，并简要提及了数据格式和架构图等内容。</li><li><a href="https://juejin.cn/post/7532773597850877987">Android 开发者的 Jetpack Compose 学习路线图 </a>: 这篇文章介绍了 Jetpack Compose 的学习路线图，这是一个现代化的 Android UI 工具包，旨在简化和加速原生 Android UI 开发。文章详细列出了学习 Jetpack Compose 的重要阶段，从基础概念到高级功能，包括状态管理、UI 组件、导航与架构、动画与手势、高级布局、测试、互操作性以及生产环境最佳实践。它还强调了 Jetpack Compose 的优势，例如使用 Kotlin 构建声明式 UI、减少冗余代码、响应式更新和更好的测试工具。</li><li><a href="https://juejin.cn/post/7532773996761694271">Kotlin 技术月报 | 2025 年 7 月</a>: 本文是关于 2025 年 7 月 Kotlin 技术月报的总结，涵盖了 Kotlin 语言的最新动态、工具更新、学习资源、社区活动以及相关技术的应用与优化。</li><li><a href="https://zhuanlan.zhihu.com/p/1931862560325505990?share_code=RfGga6dkbhzN&utm_psn=1933169272185656305">软件效率工程</a>: 这篇文章系统梳理了提升软件开发效率的方法论，强调通过工具化、自动化和 IT 化手段，利用数据驱动发现和优化效率瓶颈，提升 CI&#x2F;CD 流程和编译构建速度，同时注重工程师认知能力与团队文化建设，实现端到端提升研发效能和资源利用率，最终增强企业竞争力。</li><li><a href="https://mp.weixin.qq.com/s/slWcY4xMw6dlQCaPaNisaQ?clicktime=1754234019&enterid=1754234019&scene=90&subscene=236&xtrack=1">GPU 的结构与工作原理</a>: 本文详细介绍了 GPU（图形处理器）的结构与工作原理，包括其诞生背景、制造流程、性能优势、架构特点以及与 CPU 的协同工作方式。文章还分析了 GPU 的并行计算能力及其在图形渲染和通用计算领域的应用。</li></ol><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><ol><li>俊民大佬的技术感悟系列文章： <ol><li><a href="https://mp.weixin.qq.com/s?__biz=MzI3NDYwMDM4MQ==&mid=2247483791&idx=1&sn=5cc8d6aeaf10e532b9a1e4f8b6c5e34b&chksm=eac507f7c5fdec838f335565517742a8bf1015117d588d183c4ebadd3b6a51f9c1135a5dccd6&mpshare=1&scene=1&srcid=07287coSm9evhEH6g8bvE3sf&sharer_shareinfo=cb2dde24771a3b24050910e530fa6ae8&sharer_shareinfo_first=cb2dde24771a3b24050910e530fa6ae8">技术感悟集锦 6</a></li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI3NDYwMDM4MQ==&mid=2247483802&idx=1&sn=5c8e3b40bd69b4c068bdb85236cf218b&chksm=eadef4db6f77f19a2ade50e3c67f852db6751f9ff41f6026e0e3f3ac5e6251da907c12aedf4d&mpshare=1&scene=1&srcid=0729cPcXTeCn7jlTwMyTNnG6&sharer_shareinfo=56275b2da5189329dce4523e1fac9525&sharer_shareinfo_first=56275b2da5189329dce4523e1fac9525">技术感悟集锦 7</a></li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI3NDYwMDM4MQ==&mid=2247483810&idx=1&sn=4c2abb6831e9f11dc18f2d9353fea108&chksm=eae564b2a47c56b4e59347b54d91a702c45fc65129e074756bf4ccb7901a11af70df516f0af5&mpshare=1&scene=1&srcid=0730vljLekzvkaG80aNl1OAT&sharer_shareinfo=4d1df8916c12091200d47405ccfa2318&sharer_shareinfo_first=4d1df8916c12091200d47405ccfa2318">技术感悟集锦 8</a></li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI3NDYwMDM4MQ==&mid=2247483816&idx=1&sn=600619bb8781d4a479cc9b6395753f4a&chksm=eacb2d1207df575818d5f79b19f01135a514f7791dfbaa3a821cd298454ef256587ee4dcf915&mpshare=1&scene=1&srcid=0731vHed6aepOAbpbe0jwXUN&sharer_shareinfo=e9c50495ef64b05ef939482f57bcb110&sharer_shareinfo_first=e9c50495ef64b05ef939482f57bcb110">技术感悟集锦 9</a></li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI3NDYwMDM4MQ==&mid=2247483824&idx=1&sn=8931f583c09c7d95b0ee3d4a4caf6539&chksm=eaadc0322256f23ca8b3dd531d2feff45647b5b5c221812d5017d35b02b8526c8c06ec270354&mpshare=1&scene=1&srcid=0801KB5os53Op8tsYL6L3JN9&sharer_shareinfo=3b71d517e19207fe4421e3d8d4af1353&sharer_shareinfo_first=3b71d517e19207fe4421e3d8d4af1353">技术感悟集锦 10</a></li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI3NDYwMDM4MQ==&mid=2247483831&idx=1&sn=f31b029d53565ce4d5e6e79ec089767f&chksm=ea7d61d850d820567ad7874c569b80270441db70a6edabce5d594556c7cba4189d6184634100&mpshare=1&scene=1&srcid=0802EHliyoUh4Wh0eFmK3Xii&sharer_shareinfo=16c3de1d10db988860f09dbf78e766c3&sharer_shareinfo_first=e0e6586422392d75c96965089f2f7ef2">技术感悟集锦 11</a></li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI3NDYwMDM4MQ==&mid=2247483839&idx=1&sn=fcc88f80eb0c6bb3e389243378f31e01&chksm=ea63353410831b659f2f6c612a3db8e4bb94cce8e70d820207b2c8a57b62c34bda9ca4e46e2e&mpshare=1&scene=1&srcid=080369MoUgzarwxCaYwYJjMY&sharer_shareinfo=e9365cdad6f4c1792827986e43f7b68e&sharer_shareinfo_first=e9365cdad6f4c1792827986e43f7b68e">技术和人生感悟集锦</a></li></ol></li><li><a href="https://juejin.cn/post/7531888059543388160">智商税？4000+的 “编程专用” 显示器评测</a>: 总体来说，我对 BenQ RD280U 这款显示器表现相当满意，”4k 3:2 屏比 + 编程模式 + 护眼”，虽然有点小贵(4k+)，但从长久角度来说 “物有所值”，先是干活效率的提升，然后是 眼睛，每天近距离对着电脑屏幕 10h+ ，一个不好的屏幕更易对眼睛健康造成不利影响，还是对自己好一点吧。当然，”护眼” 最重要的还是要合理安排工作和休息时间，尽量避免用眼过度</li><li><a href="https://tw93.fun/2025-07-10/android.html">从 iPhone 换到 Android 的体验</a>: 作者作为十多年 iPhone 用户，近期转用 OPPO Android 手机，发现迁移成本低且体验出乎意料地好，尤其认可 ColorOS 的可玩性、便捷性和高性价比，同时指出 Android 在发热、系统一致性和与苹果生态联动上仍有不足，但认为现代 Android 已大幅提升，值得尝试。</li><li><a href="https://tw93.fun/2025-07-17/money.html">工程师如何更好投资</a>: 团队内部的一次简单分享，周末抽空随便理了理，聊聊工程师如何更好投资，由于买美股风险很高，不建议大家参照，需要有自己的判断，当做我在瞎说来看随便看看就好了。</li><li><a href="https://zhuanlan.zhihu.com/p/1933282606939611434">独立开发周记 128：爆单、爆肝、爆米花</a>: 独立开发者道哥分享了他在 2025 年 7 月 21 日至 7 月 27 日的开发周记，主要围绕新单词 App 的开发进展以及个人生活动态。他谈及工作、问题修复与重构、娱乐活动和日常生活。</li><li><a href="https://zhuanlan.zhihu.com/p/1929284337997705903">技术管理思考：错位管理</a>: 本文探讨了技术管理中的“错位管理”现象，强调在团队层次不齐时需设定底线管理，而优秀团队可赋予更多自由；指出技术与业务双轮驱动虽理想，但普通公司应务实简化流程；呼吁管理者要接地气、关注基层员工实际需求，避免官僚主义和管理层职责错位，以提升团队士气和组织效能。</li><li><a href="https://juejin.cn/post/7533634686799921198">拭心 7 月日复盘｜个体在 AI 时代的挑战</a>: 文章记录了作者在 2025 年 7 月的日常思考与复盘，包括个人成长、职场经验、对 AI 时代的挑战和探索，以及生活中的点滴感悟。作者通过反思自己的行为和心理状态，尝试找到更好的学习、工作和生活方式，同时分享了对 AI 技术应用的见解和未来发展的思考。</li></ol><h2 id="AI"><a href="#AI" class="headerlink" title="AI"></a>AI</h2><ol><li><a href="https://baoyu.io/translations/ai-is-a-floor-raiser-not-a-ceiling-raiser">AI 提升的是下限，而不是上限</a>: 这篇文章指出，AI 的主要作用是提升大众的能力下限，使更多人能更容易入门和完成基础任务，但对于高深、创新或复杂领域的突破帮助有限，精通仍需个人努力；AI 适合用来优化已标准化、流程化的知识工作，但对创意和专业深度要求高的领域影响较小。</li><li><a href="https://baoyu.io/blog/claude-code-best-practices-video-transcription">Claude Code 最佳实践视频文稿</a>: 本文详细介绍了 Claude Code 的概念、工作原理、应用场景以及最佳实践与高级技巧。它是一种纯粹的 AI 智能体，能够显著提高软件开发效率，涵盖从项目探索到部署与运维的全周期。文章还分享了用户反馈和内部实践总结的最佳实践，以帮助用户最大化利用 Claude Code 的潜力。</li></ol><h2 id="鸡血"><a href="#鸡血" class="headerlink" title="鸡血"></a>鸡血</h2><p><a href="https://mp.weixin.qq.com/s/L3SM_z_-V0lgZusSJTBwwQ?start=78&end=290">https://mp.weixin.qq.com/s/L3SM_z_-V0lgZusSJTBwwQ?start=78&amp;end=290</a> (二维码自动识别)</p><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件 ：<a href="mailto:&#100;&#x72;&#x65;&#x61;&#109;&#x74;&#x61;&#x6c;&#101;&#46;&#106;&#x67;&#64;&#x67;&#109;&#97;&#x69;&#x6c;&#x2e;&#99;&#x6f;&#109;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-57&quot;&gt;&lt;a href=&quot;#Android-Weekly-57&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #57&quot;&gt;&lt;/a&gt;Android Weekly #57&lt;/h1&gt;&lt;h2 id=&quot;技术文</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #56</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-07-28-Android-Weekly-56/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-07-28-Android-Weekly-56/</id>
    <published>2025-07-27T16:00:00.000Z</published>
    <updated>2025-07-27T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-56"><a href="#Android-Weekly-56" class="headerlink" title="Android Weekly #56"></a>Android Weekly #56</h1><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><a href="https://juejin.cn/post/7528695947876220962">都 2025 了，【跨平台框架】到底该怎么选？</a>: 本文对比了 Flutter、React Native 和 Compose Multiplatform 三种主流跨平台框架，从架构渲染机制、生态语言特性、性能、工具链开发体验及适用场景等多个维度展开分析，并提供了选型建议与未来发展预测。</li><li><a href="https://juejin.cn/post/7528436312073830446">Flutter - 聊天面板库动画生硬？这次让你丝滑个够</a>: 这篇文章介绍了一个 Flutter 库——chat_bottom_container 的最新更新（版本 0.4.0），该库主要用于实现聊天键盘与功能面板的丝滑切换。文章详细讲解了如何集成和使用该库，并展示了自定义底部容器的实现方法，包括动画效果、面板视图状态保持的技巧等。此外，作者还分享了构建内置面板和使用 AnimatedSwitcher 的相关细节。</li><li><a href="https://juejin.cn/post/7528706324262797346">Simple Editor - 高效智能地设计动效</a>: 本文介绍了一款由字节跳动技术团队自研的动效编辑器——Simple Editor，该工具旨在解决传统动效设计流程中的痛点，提升设计效率与质量，并提供多种创新功能如 AI 关键帧预设、状态机、3D 图层动画、CSS 动画导出等，同时展望了未来规划与团队协作模式。</li><li><a href="https://juejin.cn/post/7530082370666856474">深入解析与彻底解决 Android 集成 Flutter Boost 时页面闪烁问题</a>: 深入解析与彻底解决 Android 集成 Flutter Boost 时页面闪烁问题。文章分析了在混合开发中 Android 集成 Flutter Boost 时页面闪烁的原因，包括渲染冲突和生命周期管理不一致，并提出了三种解决方案：使用 ValueKey、控制页面生命周期、通过微小滚动彻底解决问题。这些方法旨在提高用户体验，减少性能损失。</li><li><a href="https://juejin.cn/post/7530909474103296039">Android ADB 命令之内存统计与分析</a>: 本文详细介绍了 Android 开发中与内存统计和分析相关的 ADB 命令，包括全局内存状态查看、应用内存详情分析、实时监控、内存压力测试、堆内存导出等内容，并提供了实战技巧、版本兼容性差异以及相关工具链的使用方法。</li><li><a href="https://juejin.cn/post/7530901879629103119">Android USAP 简介</a>: 本文介绍了 Android 中的 USAP（Unspecialized App Processes）机制，其作用是通过预先 fork 进程加速应用启动，并详细解析了 USAP 的功能开关、生命周期及其实现流程。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NDIwMTExNw==&mid=2247596849&idx=1&sn=d801c8a9afb64f2512d9a6171d0e773c&poc_token=HH4jhmijZvv5Z9gJQAqXQa7xgChwPgM5YOoEE9s2">如何打造卓越自适应应用 | Google I&#x2F;O 2025 不容错过的重要更新</a>: Android 16 正式发布，带来多项重要更新，包括增强的桌面体验、实时动态功能和全新的自适应开发工具。开发者现可利用升级版 Jetpack Compose 自适应库、Navigation 3 和 Window Manager 库打造在手机、平板、Chromebook、汽车和 XR 设备间无缝运行的单一自适应应用。性能优化方面，新版 UiAutomator API 和 Macrobenchmark 提供可靠测试和性能分析，R8 工具超越代码缩减功能。媒体体验则通过 CameraX 与 Media3 Effects 实现高质量视频捕捉和编辑，Google 弱光增强功能改善弱光拍摄。这些更新共同支持开发者构建能触达 5 亿设备的卓越自适应应用。</li><li><a href="https://juejin.cn/post/7529466999439425586">一个循环依赖引发的严重内存泄露分析</a>: 鸿蒙的 GC 主要使用标记清理、标记复制、标记整理等 gc 算法，这些都是通过跟对象追踪的方式去完成的，所以对于一般的循环依赖，鸿蒙的 gc 算法都是可以正常回收的。本次遇到的问题是二班情况，虽说问题发生在鸿蒙上，但在 Android 平台也是可以复现的。由于鸿蒙的 UI 框架设计上非常容易触发这个问题，本次就做个深入分享理一理这里面的门道，方便大家后续继续出现类似的问题。</li><li><a href="https://juejin.cn/post/7529430220152897562">新一代 Agentic AI 智能体，助力 Android 开发 | Google I&#x2F;O</a>: 新一代 Agentic AI 智能体助力 Android 开发，通过升级到最新的 Android Studio Narwhal（即一角鲸版本），开发者可以使用 Gemini AI 编程工具，显著提升开发效率。文章详细介绍了 Agent 模式的配置与使用，包括如何切换模式、选择上下文、模型以及设置等，还展示了 AI 在代码优化和操作中的实际案例。同时强调了使用付费 API Key 的成本问题，并建议开发者根据项目重要性选择免费或付费等级。作者指出，尽管 Android Studio 的 Agent 体验仍有待改进，但它已成为 Android 开发者的最佳选择。</li><li><a href="https://juejin.cn/post/7529335762447908864">Android 开发中 Crash 治理方案</a>: 本文详细介绍了 Android 开发中 Crash 治理的系统化方案，包括预防、监控与捕获、分析与定位、修复与验证以及闭环改进五个阶段，旨在最小化 Crash 率、快速定位并彻底修复问题，从而提升应用的稳定性。</li><li><a href="https://juejin.cn/post/7526988860901589018">Android 16 显示系统 | 从 View 到屏幕系列 - 1 | Overview</a>: 系列开篇</li><li><a href="https://juejin.cn/post/7526992395533336622">Android 16 显示系统 | 从 View 到屏幕系列 - 2 | Surface</a>: 本文详细解析了 Android 显示框架中 Surface 的概念及其创建过程。Surface 是 Android 显示系统的核心组件，负责 UI 的渲染与显示。文章从源码角度出发，逐步分析了 Surface、SurfaceControl 和 Layer 的关系，以及它们的创建与交互机制。</li><li><a href="https://juejin.cn/post/7527239817937174569">Android 16 显示系统 | 从 View 到屏幕系列 - 3 | BLASTBufferQueue</a>: 本文详细介绍了 Android 显示系统中 BLASTBufferQueue 的架构、创建过程及其核心组件的实现，包括 Producer、Consumer 和 BufferQueueCore 的交互机制。文章还探讨了 BLASTBufferQueue 的构造方法及其与 SurfaceFlinger 的连接方式。</li><li><a href="https://juejin.cn/post/7529171314553847846">Android 16 显示系统 | 从 View 到屏幕系列 - 4 | GraphicBuffer &amp; Gralloc</a>: 首页文章详细介绍了 Android 显示框架中 GraphicBuffer 的概念、定义、使用场景、创建及初始化过程。GraphicBuffer 是 Android 图形系统的核心组件，它作为内存载体，用于 GPU&#x2F;CPU 的读写操作，广泛应用于 App UI 绘制和 SurfaceFlinger 合成。文章还深入解析了其底层实现，包括 allocator 和 mapper 的初始化及操作机制。</li><li><a href="https://juejin.cn/post/7529824166633537588">Android 16 显示系统 | 从 View 到屏幕系列 - 5 | App 内部绘制</a>: 首页文章介绍了 Android 应用 UI 绘制流程，详细阐述了从 View 到屏幕的渲染过程，重点分析了 App 如何通过 GraphicBuffer 完成 UI 绘制，并将结果提交到 BLASTBufferQueue，最终由 SurfaceFlinger 进行合成显示。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NzcwMTUwNQ==&mid=2247484266&idx=1&sn=754f29002b26850410500f2c85cdbc8c&chksm=c260e41e8f035df96c349f3e3aed7561c865020dfa9257167c592ed3e5389db13f66d50679bb&scene=0&xtrack=1">浅谈 SSL&#x2F;TLS 工作原理</a>: 本文浅析了 SSL&#x2F;TLS 的工作原理，详细介绍了网络通信加密的发展过程，从对称加密到非对称加密，再到 CA 体系的应用，以及 HTTPS 如何保障网络通信的安全性。</li><li><a href="https://mp.weixin.qq.com/s/NyLgYTWyhxxH6NUX2ovLyA">binder 深入研究-传输机制篇_上</a>: 本文深入探讨了 Android Binder 机制的传输机制，详细分析了 Binder 驱动层的实现，包括 binder_proc 的创建、红黑树的使用以及跨进程调用的精确打击过程。此外，还介绍了 BpBinder 和 IPCThreadState 的相互关系及其在跨进程通信中的作用。</li><li><a href="https://mp.weixin.qq.com/s/ol1tIriTa7nipd8Tj1Jdsg">震惊 Kotlin 单例翻车实录</a>: 震惊 Kotlin 单例翻车实录：Kotlin 的 object 关键字通常用于声明单例，但在实际项目中，序列化工具可能会破坏这一特性。文章分析了 Gson、Moshi 和 kotlinx.serialization 对 Kotlin 单例的处理方式，并提供了避免问题的建议。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI3NzY4OTEzMA==&mid=2247485602&idx=1&sn=b405a36a87fd891ef58169c15487aad2&chksm=ea1204bbacffd40bc0be137d0640cfd26098b2427edd86efdf1653347afdb911afa234749d38&scene=0&xtrack=1">初识操作系统</a>: 操作系统是一种管理软硬件资源的系统软件，通过驱动层实现与硬件的解耦，主要负责内存、驱动、文件和进程等资源的管理，并通过系统调用接口为用户程序提供访问硬件的能力，其本质是通过抽象和数据结构对各类资源进行高效、低耦合的统一管理。</li><li><a href="https://zhuanlan.zhihu.com/p/1928767146613278657">微信小程序 Skyline 渲染引擎解析：如何突破 WebView 的性能天花板</a>: 微信小程序 Skyline 渲染引擎通过逻辑与渲染分离、多线程协作和 GPU 加速等技术，显著提升了小程序的渲染性能和内存效率，支持更流畅的动画和复杂交互，优化了如长列表等高频场景，缩小了与原生应用的体验差距，并简化了高性能项目的适配成本。</li><li><a href="https://proandroiddev.com/android-zygote-internals-app-performance-7f9a8d78b236">om Biology to Code: How Android’s Zygote Enables Fast and Efficient App Launching</a>: 本文以生物学中的“ Zygote”为类比，深入讲解了 Android 系统中的 Zygote 机制及其对应用启动性能的提升作用。Zygote 是 Android 在系统启动时预先初始化的进程，预加载了常用的类、资源和库。当用户或系统需要启动新应用时，系统并非从零开始创建进程，而是通过 fork（分叉）Zygote 进程，继承其已加载的资源，从而显著缩短应用启动时间，降低内存和 CPU 消耗。文章还梳理了 Zygote 的历史背景、生命周期（包括初始化、预加载和监听分叉请求三个阶段），以及其在 Dalvik 和 ART 虚拟机中的核心作用。Zygote 的设计不仅提升了系统整体性能，也为 Android 应用的高效运行奠定了基础。</li></ol><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><ol><li><a href="https://androidweekly.net/issues/issue-684">Android Weekly #684</a>: Android Weekly #684</li><li><a href="https://tw93.fun/2025-07-17/money.html">工程师如何更好投资</a>: 团队内部的一次简单分享，周末抽空随便理了理，聊聊工程师如何更好投资，由于买美股风险很高，不建议大家参照，需要有自己的判断，当做我在瞎说来看随便看看就好了。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI3NDYwMDM4MQ==&mid=2247483775&idx=1&sn=632c5352cd2d222fc07aa84904c9928c&chksm=ea14f1747d6e6084f5e2e160c41961b3f222b24e36fc3e0f617d9505e5e340ead7ed3611bb3e&mpshare=1&scene=1&srcid=0727TVJ9dmrHL8opwOQIG69S&sharer_shareinfo=d251f7ff9f1974f7678db1869c9a8534&sharer_shareinfo_first=d251f7ff9f1974f7678db1869c9a8534">人生感悟集锦 1</a>: 赵俊民大佬的技术感悟集锦</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI3NDYwMDM4MQ==&mid=2247483782&idx=1&sn=256863a4a0143c00149483f067fe5bea&chksm=ea2e8776328e72215f6fa35489d6bb69e355975499db81bdd3c058a828a6e714f581b933463c&mpshare=1&scene=1&srcid=0727GJE5Iti5GUqhmXu6wEGn&sharer_shareinfo=966669d20caf8e2b8169406547210d14&sharer_shareinfo_first=966669d20caf8e2b8169406547210d14">人生感悟集锦 2</a>: 赵俊民大佬的技术感悟集锦</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI3NDYwMDM4MQ==&mid=2247483765&idx=1&sn=462080b5ba30eb1e22c1f572eecc0a07&chksm=ea15ee926bbf2be3f9298e79d281187dd65306645636ac7c3efa11fe3b7658a7074cb6b4cbf4&mpshare=1&scene=1&srcid=0727P1aJ6CmrVkxmK5jXenMt&sharer_shareinfo=b6a541756441e76fecbd3aa7fc3a7cf5&sharer_shareinfo_first=b6a541756441e76fecbd3aa7fc3a7cf5">人生感悟集锦 3</a>: 赵俊民大佬的技术感悟集锦</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI3NDYwMDM4MQ==&mid=2247483770&idx=1&sn=e0abb8b7f39ceef4a69ae0bdb0645ad8&chksm=ea284cffb0c949df0c27dd8c93691ff74c12600df9f83e4c61370c0b7ea24936fc3349e5e937&mpshare=1&scene=1&srcid=0727EFdc4YWoUcTtMRz3fWeb&sharer_shareinfo=afdda772f18dd350b1617b12da49108c&sharer_shareinfo_first=afdda772f18dd350b1617b12da49108c">人生感悟集锦 4</a>: 赵俊民大佬的技术感悟集锦</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI3NDYwMDM4MQ==&mid=2247483786&idx=1&sn=9e02ec4d8e4e11b2543030dd029c9777&chksm=eab75c0e6a28d858cf01a430fa9eaa5c1ee71349279d223617a4f289d2b966545b7b2692c44d&mpshare=1&scene=1&srcid=0727JASSwWHmYXyZcr7nvWGJ&sharer_shareinfo=43def5cc53e5f68ea392398eedcc272e&sharer_shareinfo_first=43def5cc53e5f68ea392398eedcc272e">技术感悟集锦 5</a>: 赵俊民大佬的技术感悟集锦</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk1NzgxMjQ0OA==&mid=2247490241&idx=1&sn=2d70695974544f7a3f9b0cf3d203bd17&chksm=c28b52cb6015e062c0eb0a01b4b8ddb33263dff9ea350b2dcf478c62c5a4f621f7c8595bf293&scene=0&xtrack=1">写作即思考</a>: 写作不仅是报告研究结果的工具，更是一种促进结构化思考和发掘新思想的方式。在大语言模型（LLM）时代，尽管 AI 能够快速生成科学论文，但其无法承担作者责任，且生成内容可能存在错误。因此，人类亲笔写作仍具有不可替代的价值，尤其是在科学写作中。文章还探讨了 LLM 在科学写作中的潜力和局限性，并呼吁人类继续重视亲笔写作的重要性。</li><li><a href="https://teahour.dev/episodes/5">播客 - 教练，我想一辈子写代码！（上）</a>: 这期和老朋友 Ash Chen 一起聊聊开发者的爱好; 聊聊开发者喜欢的软件硬件;聊聊咱能一辈子做开发吗？…</li></ol><h2 id="AI"><a href="#AI" class="headerlink" title="AI"></a>AI</h2><ol><li><a href="https://mp.weixin.qq.com/s?__biz=MjM5ODQ2MDIyMA==&mid=2650732185&idx=1&sn=22dde4ca73efa70a54696eebc1e68478&chksm=bf5e2568535054b3dd5b3e15b0748781523e043e83eca00edd09070de03a33a02a56e95fca0a&mpshare=1&scene=1&srcid=07253za2sjiTrH4bxJs7xmnr&sharer_shareinfo=857d696c11b801dda3d552a9025bb8b3&sharer_shareinfo_first=857d696c11b801dda3d552a9025bb8b3">爆肝一周看 6 小时长视频，解读 AI 时代程序员价值几何</a>: 文章通过作者池建强观看 6 小时长访谈视频的经历，深入探讨了 AI 时代程序员的价值、技术趋势以及人生哲学。文章重点介绍了丹麦程序员大卫·海涅迈尔·汉松（DHH）的编程历程、技术观点以及对 AI 工具的看法，同时分享了他对创业、开源、远程办公和生活意义的深刻思考。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MjM5MDgzNDUxMw==&mid=2650853981&idx=1&sn=f3a5f95199b6ecffd467d758aeec7de5&chksm=bc9f452507a9b374caf5ad01e9ceef0ea73ec9f2f68af99407e80200f0089e97e43156637f1c&mpshare=1&scene=1&srcid=0727DFImIB4rUS1NW7OhVCx5&sharer_shareinfo=0b94ef99aff1e0807fbd4221502721b2&sharer_shareinfo_first=0b94ef99aff1e0807fbd4221502721b2">忘掉《Her》吧，诺兰旧作《记忆碎片》才是 LLM Agent 的必修课</a>: 忘掉《Her》，克里斯托弗·诺兰的《记忆碎片》更适合作为理解智能体（Agent）设计的必修课。文章通过电影主角莱纳德的记忆系统，探讨了上下文工程在构建高效智能体中的核心作用，并提出了三大支柱：外部知识管理、上下文提炼与结构化、分层记忆管理。同时，文章警示了智能体设计中的两大致命漏洞：上下文投毒和自我强化的认知牢笼，强调反思与验证模块对构建可靠智能体的重要性。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk1NzgxMjQ0OA==&mid=2247490120&idx=1&sn=6ede8958232ea5cfb5a8dc8fe13f3edb&chksm=c2a4b9b2fd642f35bff9b44552240a0c058f80a62ba34afeb5bc5f342cbf3640535b923062b0&scene=0&xtrack=1">来自 OpenAI 离职员工的爆料：关于 OpenAI 的一些思考</a>: 本文是一位前 OpenAI 员工的深度反思，分享了他在 OpenAI 的工作经历、公司文化、技术创新以及团队合作的感受。作者详细描述了 OpenAI 的快速成长、独特的工作方式、自下而上的文化以及在发布 Codex 产品时的高效协作过程，同时探讨了公司在普惠 AI 和安全方面的努力。</li></ol><h2 id="鸡血"><a href="#鸡血" class="headerlink" title="鸡血"></a>鸡血</h2><p><img src="/images/Weekly#56/img_00_57cbd22d.jpg" alt="image"></p><h2 id="招聘信息"><a href="#招聘信息" class="headerlink" title="招聘信息"></a>招聘信息</h2><p><a href="https://xiaomi.jobs.f.mioffice.cn/referral/m/position/7526864518149554284/detail?token=MjsxNzUzMTY0NTA1MDkxOzc1Mjk3MDUwNDk4MTI5NzU3MjU7NzUyOTc0NDgwNDYwNTI2Mzk4MA">https://xiaomi.jobs.f.mioffice.cn/referral/m/position/7526864518149554284/detail?token=MjsxNzUzMTY0NTA1MDkxOzc1Mjk3MDUwNDk4MTI5NzU3MjU7NzUyOTc0NDgwNDYwNTI2Mzk4MA</a> (二维码自动识别)</p><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#x64;&#114;&#x65;&#97;&#109;&#116;&#x61;&#108;&#x65;&#46;&#x6a;&#x67;&#64;&#103;&#x6d;&#x61;&#x69;&#108;&#x2e;&#99;&#x6f;&#x6d;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-56&quot;&gt;&lt;a href=&quot;#Android-Weekly-56&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #56&quot;&gt;&lt;/a&gt;Android Weekly #56&lt;/h1&gt;&lt;h2 id=&quot;技术文</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #55</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-07-20-Android-Weekly-55/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-07-20-Android-Weekly-55/</id>
    <published>2025-07-19T16:00:00.000Z</published>
    <updated>2025-07-19T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-55"><a href="#Android-Weekly-55" class="headerlink" title="Android Weekly #55"></a>Android Weekly #55</h1><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><a href="https://zhuanlan.zhihu.com/p/745737856">对 Android 游戏画面抖动现象的研究</a>: 本文研究了 Android 平台下游戏在 30 帧运行时的画面抖动问题，分析了生产者-消费者模型导致消耗周期不均匀的原因，并使用 Perfetto 工具量化抖动程度。提出了两种解决方案：Swappy 方案通过 EGL 扩展缓解抖动，但存在延迟和机型适配问题；渲染线程同步方案通过均匀生产画面节奏改善抖动，延迟较低但效果有限。未来计划结合 Vsync-sf 信号优化现有方案，进一步减少延迟并提升精准度。</li><li><a href="https://blog.csdn.net/liaosongmao1/article/details/136139596">SurfaceFlinger 的硬件 Vsync 深入分析-千里马 android framework 车机手机系统开发</a>: 文章深入分析了 Android 系统中 SurfaceFlinger 的硬件 Vsync 机制，包括其调用流程、硬件与软件之间的协作关系，以及内核驱动如何通过中断触发硬件 Vsync 信号并最终回调到应用层的详细过程。</li><li><a href="https://www.bilibili.com/video/BV16oE9zUEq4?buvid=XU089E50E1C5D4AD58B822F57189B13730B22&is_story_h5=false&mid=QZzxgg8FTyGWTkcKUS80xQ==&plat_id=168&share_from=ugc&share_medium=android&share_plat=android&share_session_id=0b166bd5-ade6-42ea-9f43-8344fb08cc39&share_source=WEIXIN&share_tag=s_i&spmid=main.my-history-search-result.option-more.0&timestamp=1748413524&unique_k=s6oEeoq&up_id=372185561&vd_source=0c6d2191e785de0a36dc21a9da7e664e">【双语视界】【硬核科普】CPU 调度算法：让电脑流畅运行的核心原理</a>: 这篇文章介绍了 CPU 调度算法的核心原理及其在现代操作系统中的应用，涵盖经典算法（如 FCFS、SJF、RR）和现代技术（如多级队列、多级反馈队列）的设计与优化。它还探讨了调度中的难题，例如时间量子悖论和饥饿陷阱，并通过实际案例和系统对比（如 Windows 与 Linux）阐释调度机制如何影响系统性能与用户体验。</li><li><a href="https://juejin.cn/post/7507839384193974326">Compose Multiplatform Skia 对比 Flutter Impeller ，都是跨平台自绘有什么差异</a>: 本文对比了 Jetbrains 的 Compose Multiplatform 使用的 Skia 和 Google 的 Flutter Impeller，探讨了两者在跨平台自绘领域的差异。文章详细分析了 Skia 的工作原理、特性及其在 Android 和 iOS 平台的表现，同时介绍了 Impeller 的预编译着色器优势和其专注于 Flutter 的设计理念，并指出两者在功能、性能及稳定性上的优劣。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg4NDQ0OTI4Ng==&mid=2247492142&idx=1&sn=138b31898fe3c93f38b83461cc55d7f2&chksm=ce3bd3c757699de7b8b591e212a3e51d5dff3bbd1b3822aedc2aa72b928653f79709ae122093&mpshare=1&scene=1&srcid=0529jHi384p0mtv8kICoWaeO&sharer_shareinfo=cd21844103c11de163bc41cdcb177c27&sharer_shareinfo_first=cd21844103c11de163bc41cdcb177c27">内存检测工具 KASAN：精准定位内存越界的“幽灵”</a>: 内存检测工具 KASAN（Kernel Address Sanitizer）是 Linux 内核中的重要工具，专门用于检测内存错误。它通过影子内存机制精准定位内存越界、释放后使用以及未初始化内存等问题，为开发者提供强大的支持，大幅提升系统稳定性和安全性。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTQ4NDUyNg==&mid=2247490421&idx=1&sn=9e39a6c86cfec1d5826752143c7110a5&chksm=c3329234d34997db9d18b65509305ba6389c10ea85c54df105655ecd6a1ce8a278a32dd4c473&mpshare=1&scene=1&srcid=0529upAyJauE7ai8OaQKPMCp&sharer_shareinfo=96dbff6f74f4654b7e7b62a5dbf7a8bc&sharer_shareinfo_first=96dbff6f74f4654b7e7b62a5dbf7a8bc">桌面 app 冷启动性能优化：聊一聊优化策略方案及布置学员作业</a>: 文章探讨桌面应用冷启动性能优化策略，提出通过在触摸事件的 down 阶段启动 Activity 的预启动机制，结合 framework 层面区分预启动与真启动，从而减少冷启动时间，同时避免误触问题。这一优化思路被作为学员作业布置，鼓励实践探索。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTQ4NDUyNg==&mid=2247490445&idx=1&sn=de1451f689ca9029e0c38f9ea8c17a4f&chksm=c315fc5caae94693b3d868354075f92c69061fafce5559a609e017eaeb3f0b830ebcabf862c2&mpshare=1&scene=1&srcid=0530Pa1L7BxXQgDaWq4hR2i4&sharer_shareinfo=93a1e67611a9d21b58a34270493a6cd1&sharer_shareinfo_first=93a1e67611a9d21b58a34270493a6cd1">aosp15 VSCode 调试 native 程序完整笔记</a>: aosp15 VSCode 调试 native 程序的完整笔记详细介绍了如何使用 VSCode 调试 aosp15 中的 native 代码。文章从背景、前置条件、调试步骤到可能出现的错误及解决方法进行了逐步讲解，并提供了相关环境设置和命令操作技巧。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxMDM0NjExNA==&mid=2247496499&idx=1&sn=2bf2d04ee9c334a452c25897e08d34c9&chksm=9abf82214d825f9299a817b9f1e170467ca16149f9abd86b113ed46313aa4d40193f21c0cf8b&mpshare=1&scene=1&srcid=05308suSwB4khoHo0drg3qZj&sharer_shareinfo=8d3c648d127dde239bd66b56b94e0cfe&sharer_shareinfo_first=a998f5f7f7d7d026b7dfe298fd40babb">任务调度器：从入门到放弃（一）</a>: 任务调度器在操作系统中负责管理和分配 CPU 资源，以确保多线程任务的高效运行。本文介绍了 Linux 中的调度器机制，包括不同调度类的优先级、CFS（完全公平调度器）的运行原理以及 cgroup（控制组）如何通过资源配额限制解决线程资源分配不均的问题。同时讨论了调度器在 Android 系统中的应用及其存在的问题。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxMDM0NjExNA==&mid=2247496521&idx=1&sn=b37abff1ed63ee6a48ab76b8f83a9400&chksm=9a180127680aa7fa3640816392b0d7b4373fa5f935f31b520ce416c5a68c57c23b6d1590cb9c&mpshare=1&scene=1&srcid=0530zGQTcukDSmOyPpnHSEMC&sharer_shareinfo=28787a0d3ce7a9ea4c5210031b38b051&sharer_shareinfo_first=28787a0d3ce7a9ea4c5210031b38b051">任务调度器：从入门到放弃（二）</a>: 任务调度器的工作原理及其在不同场景下的应用与挑战。文章详细介绍了任务调度器的事件驱动机制、CFS 调度器的逻辑、Linux 内核调度器的精度与吞吐量权衡，以及 big-little 架构下的异构多处理器对任务分配的复杂性。此外，还探讨了负载量化模型（PELT 与 WALT）的优缺点及其在任务调度中的应用。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxMDM0NjExNA==&mid=2247496533&idx=1&sn=626074e8fd4f66b73849f6f05a91061d&chksm=9ab1f5f8033cb2f0fc4e867b170e8440014ffc0fdb7dd0e8d0df3dde27896f6927bb94b9e0ae&mpshare=1&scene=1&srcid=0616OvhqofvM5U5QvTTx7Q6X&sharer_shareinfo=80418ebf831ad99f925f1775efa6931d&sharer_shareinfo_first=80418ebf831ad99f925f1775efa6931d">任务调度器：从入门到放弃（三）</a>: 本文讨论了任务调度器中的 Energy Aware Scheduling（EAS）算法，从预测频率、计算功耗到最终决策任务运行在大核或小核上的过程。文章详细分析了 CPU 频率与功耗之间的关系，提出了功耗模型的重要性及其挑战，同时对硬件设计中的乱序执行、分支预测等技术进行了深入探讨，并指出 EAS 算法在实践中的不准确性和局限性。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxMDM0NjExNA==&mid=2247496553&idx=1&sn=820f39488e302643098782837ab229d6&chksm=9aa2855e29f19782fdfe38d1cda62ec904491cbdca37e2f3c7a37be4f9da081543f944bfe700&mpshare=1&scene=1&srcid=0711abXNoxSqj9UrYDhoTMPX&sharer_shareinfo=179faee08659d8e252b7bb3aa64d297a&sharer_shareinfo_first=179faee08659d8e252b7bb3aa64d297a&poc_token=HBcBfWijK6s-y6f4D8QWuxVqfwqctqN3dMqHf5Ca">任务调度器：从入门到放弃（四）</a>: 任务调度器在 Linux 内核中的复杂性和挑战，包括任务负载的量化、CPU 频率与调度的互相影响、优先级反转问题，以及不同调度类的特点与局限性。文章详细探讨了调度器的工作机制、负载计算公式、调频算法、优先级反转的解决方案以及各大厂商的优化策略。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649081229&idx=1&sn=1d74cde634b84ad919d595dcaf92ce72&chksm=869ab2fe8519fc11e6ca7bcd42dccc1521b06b5bb0437d804fd8822feba66b059c5764cf36a4&mpshare=1&scene=1&srcid=0531fF1tjywR3niuHCwHqdli&sharer_shareinfo=69428eed438695a391b9d1713482d11a&sharer_shareinfo_first=69428eed438695a391b9d1713482d11a">Android 系统 内存不足时，kswapd 导致的性能问题之冷热文件回收方案</a>: Android 系统内存不足时，kswapd 导致性能问题，提出了冷热文件回收的优化方案。文章分析了 kswapd 的内存回收机制及其对应用性能的影响，并建议通过调整回收策略来降低系统内存不足时的性能开销。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MjM5ODYwMjI2MA==&mid=2649793713&idx=1&sn=5c4dabab3ec1bfc7456cc373b1ab4791&chksm=bf9868364b37a1f472f376ab8fa4ca2e716a712e55cb347f684cb99f865cc7e20cafc51a5d7d&mpshare=1&scene=1&srcid=0603DzDmqNNmEDwVF3cpadDI&sharer_shareinfo=a93a81ca8b8628997b9dc0809e725695&sharer_shareinfo_first=a93a81ca8b8628997b9dc0809e725695">腾讯 Kuikly 框架鸿蒙版正式开源 —— 揭秘卓越性能适配之旅</a>: Kuikly 是腾讯广泛使用的跨端开发框架，基于 Kotlin Multiplatform 技术构建，为开发者提供了技术栈更统一的跨端开发体验，由腾讯大前端领域 Oteam（公司级）推出。在 Android、iOS 开源基础上，本次开源鸿蒙平台支持和 Compose DSL 支持，进一步提升业务多端适配和鸿蒙开发效率。目前 Kuikly 鸿蒙版已接入腾讯多款业务，开发并上架鸿蒙 App，如 QQ 浏览器、腾讯新闻、搜狗输入法、全民 K 歌、自选股等。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI3NzY4OTEzMA==&mid=2247484376&idx=1&sn=1483489f8a4eaa895d3eee10cf660db9&chksm=ea0e85f65e2cb1853ee6d4327539e7c4f361e40bb5d435c210a2912820b4eb28b020c490cfdf&mpshare=1&scene=1&srcid=0603h86UNWsOtgScNBNa1576&sharer_shareinfo=af56b678e039325dda46396af12a809c&sharer_shareinfo_first=4a75b382fc74577ed39f7b718cb29e8b">CPU 时钟周期结构原理</a>: 本文深入到晶体电路与时钟网络的级别，让我们从物理与微架构两条“腿”来全面剖析 CPU 时钟周期的工作原理。本篇覆盖时钟来源、倍频鎖相环（PLL）、时钟分发、门控、时钟域跨越、PVT（Process–Voltage–Temperature）变异对时钟的影响，以及在流水线设计、寄存器管理和高性能异步接口中的关键细节。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg4NDQ0OTI4Ng==&mid=2247492058&idx=1&sn=e71cd9a88a1cc39df12a6a6d92673d0d&chksm=cec23072aacf11ab44d3d67589ab41add1035b36f67a73daee5f47f372291738c8fb13ab33ad&mpshare=1&scene=1&srcid=0604yt67lEZnS6sSldFi32gR&sharer_shareinfo=15c6d2ff0a2dfb3debce2698c2e0b43e&sharer_shareinfo_first=15c6d2ff0a2dfb3debce2698c2e0b43e">解锁 CPU 上下文切换：深入理解计算机的“幕后舞者”</a>: 、这篇文章详细阐述了 CPU 上下文切换的概念、类型、过程以及对系统性能的影响。文章还介绍了相关监控工具和优化策略，并通过案例分析展示了如何解决高负载服务器的性能问题。</li><li><a href="https://juejin.cn/post/6980712937581346847">深入理解 RecyclerView 的绘制流程和滑动原理（匠心巨作-上）</a>: 本文详细解析了 RecyclerView 的绘制流程与滑动原理，包括绘制的三个步骤（onMeasure、onLayout、onDraw）、LinearLayoutManager 中的填充、测量与布局过程，以及滑动事件的处理与惯性滑动的实现。通过源码分析，深入探讨了 RecyclerView 的嵌套滑动机制和滑动逻辑。</li><li><a href="https://juejin.cn/post/6982842953051930637">深入理解 RecyclerView 的嵌套滑动机制（匠心巨作-中）</a>: 本文详细解析了 RecyclerView 的嵌套滑动机制，包括 CoordinatorLayout 与 Behavior 的交互原理、嵌套滑动事件的传递流程，以及 RecyclerView 如何实现嵌套滑动。文章通过源码分析和实例演示，逐步揭示了嵌套滑动的核心逻辑与实现细节。</li><li><a href="https://juejin.cn/post/6984974879296585764">深入理解 RecyclerView 的回收复用缓存机制详解（匠心巨作-下）</a>: 本文详细解析了 RecyclerView 的回收复用机制，涵盖其缓存池分类、源码流程以及回收与复用的原理。文章通过源码分析说明了 RecyclerView 如何通过多级缓存优化性能，减少不必要的视图创建与数据绑定工作。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649081268&idx=1&sn=eaa8e6675363c7582c9b1411589640f4&chksm=860513247ce7c3fbdac94011f771fc2751451351ed5a7b305606ef101abf21a5282dfffcb3d2&mpshare=1&scene=1&srcid=0606doIineph3RXFc71cZHzH&sharer_shareinfo=a0cff7d1adeeee35334a6aa2d753272d&sharer_shareinfo_first=a0cff7d1adeeee35334a6aa2d753272d">高通 bwmon L3 总线性能优化方案</a>: 高通 bwmon L3 总线性能优化方案介绍，通过监控总线带宽速率，动态调整频率以优化能耗和性能。解决传统固定频率方案中性能浪费和响应延迟的问题，提升片上系统（SoC）特定互连链路的吞吐量。典型应用包括优化 L3 缓存与内存之间的数据传输效率，以及 CPU 集群与系统总线的通信。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NzcwMTUwNQ==&mid=2247484091&idx=1&sn=5e5f0d925213fce06381116d68ef44da&chksm=c24c68d8357e97be590b292b74d4521e59773bab50f268cff8b80ecdefb9296d6853d13346dc&mpshare=1&scene=1&srcid=0608pwRYjbfHTlOjvBIXgOyK&sharer_shareinfo=15e421838bf7eee177e52c0becacad8d&sharer_shareinfo_first=15e421838bf7eee177e52c0becacad8d">不因质疑而放弃对真理的追求：点赞 Xavier Xia 童鞋对 contpte_ptep_get 的优化</a>: Xavier Xia 通过持续优化函数 contpte_ptep_get()，在面对社区质疑时坚持不懈，用数据证明其补丁在各种场景下均有性能提升且无退化，最终赢得认可。这一过程展现了追求真理的重要性，即便面对质疑，只要以数据为基础，终会获得理解与支持。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI3NzY4OTEzMA==&mid=2247484790&idx=1&sn=2af5758990668c6d48670780a4a1c1e0&chksm=ea84e53c699918ed34055ed2ae033cfaecfd5df6ad500667e4533975d41d344193e5ae8da471&mpshare=1&scene=1&srcid=0613mJ7fsHNHQhBaprey7evw&sharer_shareinfo=a3f86fe95a4cde5869185ef0cd86a2a3&sharer_shareinfo_first=a3f86fe95a4cde5869185ef0cd86a2a3">CPU 三级缓存(L1&#x2F;L2&#x2F;L3)工作原理</a>: CPU 三级缓存(L1&#x2F;L2&#x2F;L3)工作原理：文章详细介绍了 CPU 缓存的作用、工作原理、三级缓存结构及其存储机制，并阐述了局部性原理对缓存命中率的影响，同时讲解了 MESI 协议在多核处理器中的缓存一致性维护方法，以及常见的缓存映射方式。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkxNzUwODMzNw==&mid=2247485009&idx=1&sn=732e99199427628cdaf4a2b6ababcbef&chksm=c0eea4db0460c2848cb9c51637076ac75160da2bca5ca3674912278346dec1d438d3f381fd1e&mpshare=1&scene=1&srcid=06130HGwUP96KPiYUOaqWPc9&sharer_shareinfo=bbe5af59ed93c85cf0a8c119496ad14b&sharer_shareinfo_first=bbe5af59ed93c85cf0a8c119496ad14b">ARM CPU 性能分析 – SPE 采样分析</a>: ARM CPU 性能分析方法包括 PMU 性能监控、Top-Down 性能分析和 SPE 采样分析，其中 SPE 采样分析通过硬件记录指令执行过程中的详细信息，如地址、延迟、事件类型和数据来源，具有高精度和低开销的特点，可使用 perf 工具进行数据采样与分析。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA4MTk5ODQxNQ==&mid=2449515318&idx=1&sn=3b9d23ef44e43b519ccb5bc7d8e89fdd&chksm=89166bebbf75057c4e9635a81e7a3b1d492f8e2780a267c470d44eeb57e066e85fe5e1f6da38&mpshare=1&scene=1&srcid=0613W8w27aSgfXAerRhUS1Gx&sharer_shareinfo=7c0a3b9029015980b4c12cc5614ee3e1&sharer_shareinfo_first=7c0a3b9029015980b4c12cc5614ee3e1">巧用[]byte 与 ASCII 值加减实现 56%性能加速以及 83%内存消耗下降</a>: 本文通过优化加密密钥生成函数，利用[]byte 数组和 ASCII 值加减代替初始方案中的 map 存储及字符串拼接，显著提升了性能（加速 56%）并减少了内存消耗（下降 83%）。作者建议在代码中多使用 byte 数组进行下标操作，利用 ASCII 值进行大小写转换，同时关注内存与 CPU 消耗，结合 benchmark 测试优化代码。</li><li><a href="https://juejin.cn/post/7515395360528023606">Android V app 冷启动(13) 焦点窗口更新</a>: 本文详细分析了 Android 应用冷启动过程中焦点窗口的更新流程，涵盖了启动窗口添加、Activity 可见性更新、焦点窗口解析及真窗绘制等技术细节。文章通过代码讲解和流程解析，展示了如何逐步实现焦点窗口的切换，并解决冷启动过程中焦点窗口相关的问题。</li><li><a href="https://juejin.cn/post/7515395360527384630">批处理实现：自动抓取 perfetto 日志 自动导出到当前文件夹 自动打开分析页面</a>: 文章主要介绍了如何使用批处理脚本实现自动抓取 Perfetto 日志、导出文件并打开分析页面的操作方法。文章详细描述了配置文件的生成、脚本的编写及执行步骤，并附带了具体的配置示例，涵盖了性能追踪的多种参数设置。</li><li><a href="https://juejin.cn/post/7515052989888823305">Android Runtime 即时编译触发条件与阈值深度解析(38)</a>: 本文深入解析了 Android Runtime（ART）中的即时编译（JIT）机制，包括其触发条件、动态调整策略、性能影响以及与其他模块的协同工作，并探讨了不同 Android 版本中 JIT 触发机制的演进。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NzcwMTUwNQ==&mid=2247484102&idx=1&sn=4b25848c33fa4bce39cda182d94c5dbe&chksm=c20ddf8cc92c17e7b20e39b86464ac968c494b1d2bfc20b9bf7973df89b3ad0a0ef7c6a2851c&mpshare=1&scene=1&srcid=0615LN8XDigkowoJvgRtsFrx&sharer_shareinfo=26056d212279e41b03811c87cb05e187&sharer_shareinfo_first=26056d212279e41b03811c87cb05e187">分享 Linux 学习和工程实践的方法学</a>: 这是笔者几年前写的一个 ppt，现贴出来分享</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI3NzY4OTEzMA==&mid=2247484926&idx=1&sn=61a5b2f1ca5521e4212ee151892cc516&chksm=ea7f95bb4226f78e3510fe0e0328e4f3b216442ce628b984a04f01930557049eff1bd1f7b20b&mpshare=1&scene=1&srcid=0617xIGxpftAX86iHMCN3HDB&sharer_shareinfo=4557f5acf3936811ac5bd1ef5832407d&sharer_shareinfo_first=4557f5acf3936811ac5bd1ef5832407d">CPU 流水线技术原理</a>: 本文详细介绍了 CPU 指令流水线技术的原理及其应用，涵盖了基本概念、设计原则、性能指标、常见问题及解决方法，以及多发技术的改进。通过流水线技术可以显著提升 CPU 的处理效率，但同时也会面临一些挑战，例如流水线冒险和性能损耗。</li><li><a href="https://juejin.cn/post/7515391516786884642?share_token=0887d900-11f2-40be-bdc8-527ddbef5c4a">探秘 React Native：线程探索及桥优化</a>: 本文探讨了 React Native 中的线程管理及桥优化，涉及 JS 线程、NativeModules 线程和 UI 线程的创建与消息队列代理，通过同步桥和异步桥实现线程间通信。同步桥适合短耗时、低频调用场景，而异步桥适合长耗时、高频调用场景。文章还介绍了使用 Perfetto 工具检测桥执行耗时，并通过 Trace 和 SQL 分析优化桥调用顺序，以提升性能表现。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzIzNjc3MjYwMQ==&mid=2247484281&idx=1&sn=84f9ae023e941830d28efc2c72552113&chksm=e91dcb33ebdd51f11d5d4c04688a1ce7818da64a4bebd22bef6c85d7ba92db82cd96349ea6cd&mpshare=1&scene=1&srcid=0620QOvGE63Z0PtAwfXTSHKc&sharer_shareinfo=74e2c2d8827242a6101e9c34731f9274&sharer_shareinfo_first=74e2c2d8827242a6101e9c34731f9274">聊聊 Glide | 不看源码，只聊设计</a>: Glide 是一个高性能图片加载框架，文章通过三步链式调用（with(context)、load(url)、into(imageView））详细分析了其设计与功能，包括生命周期管理、缓存机制、图片请求与转换等。文章还探讨了 Glide 的代码设计特点及其稳定性和扩展性。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzIzNjc3MjYwMQ==&mid=2247483731&idx=1&sn=8e159582b5a7b61d64f8de7aff7a8bfa&chksm=e9ac1aa9a4ff11875c8ad8152066750d19ff7645e01f507f2c33d3106e6875609fb05d46ade7&mpshare=1&scene=1&srcid=0620cmWHPjCrHXg8nb8JF83A&sharer_shareinfo=d9c295c925b3b194c1f02eed052a9b9f&sharer_shareinfo_first=d9c295c925b3b194c1f02eed052a9b9f">Android 图形系统（一）屏幕篇：LCD 和 OLED 怎么选？</a>: 本文是 Android 图形系统系列的第一篇文章，主要探讨 LCD 和 OLED 屏幕的区别及显示原理。文章详细介绍了两种屏幕的优缺点、结构组成、调光方式以及选购建议，同时讨论了 OLED 屏幕的烧屏问题和低频 PWM 调光对眼睛的影响。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzIzNjc3MjYwMQ==&mid=2247483732&idx=1&sn=4f690c2675249137cfdab0f13b09ebd0&chksm=e956b0a001f45a1152233b83b78eeea59333cb3c40ad19f2eb0452e4aeb9a0301e0c35dbf11e&mpshare=1&scene=1&srcid=0620RE071y2ZvvU9ajUbMszo&sharer_shareinfo=7b43e1e185723dbd421fa9effba4ab86&sharer_shareinfo_first=7b43e1e185723dbd421fa9effba4ab86">Android 图形系统（二）驱动篇：垂直同步到底要不要开？</a>: 本文是 Android 图形系统系列的第二篇文章，重点介绍屏幕刷新率、帧率、垂直同步及相关技术的原理和应用场景。文章详细探讨了画面撕裂的原因及解决方案，包括垂直同步、三重缓存和自适应刷新技术的优缺点，并根据不同使用场景给出了是否开启垂直同步的建议。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzIzNjc3MjYwMQ==&mid=2247483766&idx=1&sn=fde440bdceef04d3974d351377a4e234&chksm=e94c9a7103d9acbe2cc11179190b61bd8c8485baab4835ca8ab5610effd3dd0972e21bcaa6f2&mpshare=1&scene=1&srcid=0620PnktCTDVa9F0A4PRCqdu&sharer_shareinfo=937c19e3fe4d21e03c7bded9016fa055&sharer_shareinfo_first=937c19e3fe4d21e03c7bded9016fa055">Android 图形系统（三）系统篇：当我们点击“微信”这个应用后，它是怎么在屏幕上显示出来的？</a>: 本篇是 Android 图形系列的第三篇文章，在之前的两篇文章中分别介绍了屏幕的“显示原理”和屏幕的“刷新原理”，今天我们来一起学习 Android 系统的图形架构设计，聊一聊输送到屏幕的画面数据是如何产生的</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzIzNjc3MjYwMQ==&mid=2247483852&idx=1&sn=30719ded921db9aaacb3225f5bb81884&chksm=e93f2092ce6cb047638e452285318ca7da95471b9b26c312727d81d3c4e98ed2ab1332e6173e&mpshare=1&scene=1&srcid=0620Wvnu8FWSvlcJxyDskG93&sharer_shareinfo=4d287b4fddd7efdab2244c4756cabbde&sharer_shareinfo_first=4d287b4fddd7efdab2244c4756cabbde">Android 图形系统（四）应用篇：自定义 View&#x2F;ViewGroup 详解</a>: 本文详细介绍了 Android 自定义 View 和 ViewGroup 的开发过程，重点分析了测量、布局、绘制三个阶段的实现逻辑，包括各阶段的核心方法、调用链以及硬件加速对绘制流程的影响。此外，文章还通过示例代码展示了如何手写一个斜着摆放子 View 的线性布局，并对相关概念如 MeasureSpec、LayoutParams、Canvas API 等进行了深入解析。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzIzNjc3MjYwMQ==&mid=2247483964&idx=1&sn=b180604f32c00f6433a7f014c7420fd8&chksm=e9d3afe6f66a79a77453be194eaafe545e75d429d0dd2ab1e75cc843e8ee042a838c41fe17f8&mpshare=1&scene=1&srcid=0620WnlUZlNYn64p5boYRbrK&sharer_shareinfo=cc561a007f19ead4a9b5b3f8484114ab&sharer_shareinfo_first=cc561a007f19ead4a9b5b3f8484114ab">Android 图形系统（五）番外篇：触摸事件详解</a>: 本文详细解析了 Android 图形系统中的触摸事件工作原理，从硬件驱动到系统内核，再到 Framework 层的事件传递和分发，最后到应用层的事件消费。通过深入分析，文章展现了触摸事件的完整生命周期，并揭示了事件分发机制的核心逻辑。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247494428&idx=1&sn=a272e9150dc36dd6b8d467b6b3e395af&chksm=cf8bcca8752fcd935f056f5a61da82548fccf887353b0d2c1fee8919a33321d0e3057105d30a&mpshare=1&scene=1&srcid=0709PvS4vV0MTlnf5YChm2XE&sharer_shareinfo=c1881e81b64bbe2290e5c23d69053304&sharer_shareinfo_first=c1881e81b64bbe2290e5c23d69053304">Google I&#x2F;O Extended ：2025 Flutter 的现状与未来</a>: Flutter GDE 郭树煜，Github GSY 项目的维护人，今天主要分享的内容是「Flutter 的现状与未来」，可能今天更多会是信息科普类型的内容，主要是分享关于 Flutter 的现状与未来</li><li><a href="https://zhuanlan.zhihu.com/p/1925158846122402087?share_code=1hS9Q11ouExlH&utm_psn=1926645449294578573">如何对 Android 系统进行性能分析？</a>: 本文详细探讨了如何对 Android 系统进行性能分析，涵盖了分析方法论、系统宏观综合分析、IO 性能分析、组件性能优化以及复杂性背后的思考。文章提供了多种工具和方法，并结合实际案例展示了性能分析的具体操作步骤。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTQ4NDUyNg==&mid=2247490978&idx=1&sn=3e143d25b8a9cf81ba20cfae3a643754&chksm=c3e41f0a3db6ebf18d46a49d88db13246c3ce8bdb2ad966c25ed8b0a153970f858f0a0dbd365&mpshare=1&scene=1&srcid=0712rOlbLiLGMzEOFO6ukODj&sharer_shareinfo=dcd9dc7e4f93656c480c0a1da154a792&sharer_shareinfo_first=dcd9dc7e4f93656c480c0a1da154a792">性能优化必学基础：input 流程与 systrace 结合剖析</a>: 性能优化必学基础：文章深入解析了 Android 系统中 Input 事件的处理流程，并结合 Systrace 工具剖析了事件分发与应用响应的机制。文章详细介绍了 InputReader 和 InputDispatcher 的工作原理，以及事件在系统队列和应用队列中的流转过程。此外，还探讨了应用进程中触控事件的分发和责任链模式的设计，帮助开发者更好地理解性能优化的关键环节。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247494435&idx=1&sn=050f1953d681a70d244c03bf8bd0e7e9&chksm=cfdd7a6b14822fce82c547136b7b6b46a1f2ff80f3fa6e608953b18e479f674bf720d0655ac2&mpshare=1&scene=1&srcid=0717yQXS1E7nVQw7ASIKZima&sharer_shareinfo=d8cf1a5897cf2e27f430657791292695&sharer_shareinfo_first=d8cf1a5897cf2e27f430657791292695">Flutter Web 的发展历程：Dart、Flutter 与 WasmGC</a>: Flutter Web 的发展历程展示了 Dart 和 Flutter 团队在 Web 平台上的持续投入与技术进步，从早期的 dart2js 到如今的 dart2wasm，以及 WebAssembly (WasmGC) 的引入，Flutter Web 正逐渐转向高性能和更一致的渲染体验，同时探索更广泛的应用场景。</li><li><a href="https://zhuanlan.zhihu.com/p/1921947455680906165?share_code=1qH6sGKc7cEwu&utm_psn=1929142206553383902">极致优化 UE Android APK 的大小</a>: 本文详细介绍了如何通过优化策略减少 Android 平台上基于 UE（Unreal Engine）开发的 APK 大小，同时降低 Native 库的运行时内存占用。文章涵盖了从代码优化到资源裁剪的多种方法，并提供了具体的实践案例。</li><li><a href="https://zhuanlan.zhihu.com/p/1913888147110094493?share_code=1p55ifnHdvAiC&utm_psn=1929144247543662146">案例分享：page fault 对进程 Running 时间影响</a>: 本文讨论了缺页中断（Page Fault）对进程运行时间的影响，指出当发生缺页中断时，进程可能从 Running 状态切换到 Waiting 状态以等待 I&#x2F;O 完成，而该处理时间会计入进程的内核态运行时间。此外，文章分析了中断上下文与进程上下文的区别，并解释了为何缺页中断处理函数可以休眠，其本质在于是否存在进程上下文。</li><li><a href="https://zhuanlan.zhihu.com/p/1910620887440416822?share_code=UCArFByk7Zb8&utm_psn=1929144529010796007">Android 性能分析全景图</a>: 本文概述了 Android 性能分析的核心技术，包括性能指标（如启动时间、渲染指标）、测量工具（如 Jankstats API、Firebase Performance Monitoring）、追踪方法（如 Perfetto、atrace）以及数据格式（如 Trace Event JSON、Perfetto Protobuf）。文章强调 eBPF 和 Perfetto 作为现代性能分析工具的重要性，并介绍了性能可视化方法（如 Timeline 图、火焰图）。推荐学习资料为《Performance Analysis and Tuning on Modern CPUs》。</li><li><a href="https://juejin.cn/post/7524999294157570102">从一例 Lottie OOM 线上事故读源码</a>: 本文详细分析了使用 Lottie 动画时出现的内存溢出（OOM）问题，并通过源码解读和优化策略解决了相关问题。文章通过裁剪动画资源、调整缓存策略、优化内存释放机制等方式有效降低了内存使用，并指出了 Lottie 源码中的一些潜在问题。</li><li><a href="https://zhuanlan.zhihu.com/p/1920803101851497024">案例总结： ProfilingManager API</a>: ProfilingManager API 是 Android 15 引入的新调试工具，支持收集堆转储、堆分析、堆栈采样和系统追踪等信息，通过回调将分析结果保存至应用文件目录，并通过速率限制减少性能影响，推荐三方应用使用该接口替代自定义方案。</li><li><a href="https://isming.me/2025-07-13-google-play-submit/?utm_source=rss">Google Play 应用上架二三事</a>: 文章总结了个人和公司开发者在 Google Play 上注册和上架应用的流程及注意事项，强调了身份验证、支付方式、封闭测试要求等细节，并分享了应对审核拒绝、权限管理和隐私政策优化的经验，同时指出老账号的价值和 Google Play 审核政策的动态变化，建议开发者保持学习以适应新规。</li></ol><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><ol><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4NjAxNjY4Nw==&mid=2650240835&idx=1&sn=5829be428e18b62b76529739b39dd891&chksm=f25ec6609dabc626123fc84603213369ca7a260bd478d631b0c277c4cce4be92300e37f673ba&mpshare=1&scene=1&srcid=0530XKNIimshEgrquQwXFlC4&sharer_shareinfo=d0586aa9adabed335103a7844ea0e200&sharer_shareinfo_first=d0586aa9adabed335103a7844ea0e200">科技爱好者周刊#350：Java 三十周年</a>: 这里记录每周值得分享的科技内容，周五发布。</li><li><a href="https://mp.weixin.qq.com/s/sJPar-ALRE0jhXpmtBVl_A">应该按照什么原则做软硬融合设计？</a>: 优秀的软硬融合设计，其核心原则就是“用软件定义一切，用硬件加速关键”，通过精准识别出那些成熟且对性能影响最大的功能，并将其硬件化，从而在灵活性和极致效率之间找到最佳平衡点。</li><li><a href="https://zhuanlan.zhihu.com/p/1919314301468017000?share_code=qv7wAVJplTDs&utm_psn=1920197139847415751">谈性能，没有什么可以干了？</a>: 性能问题涉及内存泄露、负载增加和存储老化等核心矛盾，解决需从开发阶段建立防护网，优化调度算法和架构设计，并通过工具如 simpleperf 进行系统观测与分析。尽管问题难以彻底解决，但持续改进与创新能带来显著收益。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk3NTA0NjcyMw==&mid=2247483754&idx=1&sn=3ff8c26e01d4566faceda09656354916&chksm=c5e6bfcfa18b56de9c8c83872d362dacb761f637a1402e83c29e257fb391abf2abf0041df7a8&mpshare=1&scene=1&srcid=0629zWImPMAK7W9807t4Zveu&sharer_shareinfo=0a8d7bf69a651b27476f66c5d1368910&sharer_shareinfo_first=0a8d7bf69a651b27476f66c5d1368910">为什么科技大厂自己要做硬件？</a>: 为什么科技大厂选择自研硬件？文章分析了科技公司自研芯片的原因、挑战和策略，强调自研芯片能够提供独特的用户体验、增强品牌价值、确保供应链稳定，并构建生态系统，但同时也面临高昂成本和技术门槛。最终，自研芯片的目标是提升用户体验并保障企业的长期战略安全。</li><li><a href="https://houjoe.me/posts/current-software-hardware-toolkit/">我的极简数字生活：一份持续更新的软硬件清单</a>: Joe 的折腾日记记录了作者在数字生活中使用的软硬件工具清单，涵盖了记录与文档、浏览器、任务管理、阅读、听歌、AI 与学习、影视剧观看、同步与备份、地图与导航、网络代理、截图工具、Mac 端小众工具、随身设备和随车设备等多个领域。这份清单旨在帮助作者优化工具使用、减少分心，并持续更新以适应个人需求。</li></ol><h2 id="AI"><a href="#AI" class="headerlink" title="AI"></a>AI</h2><ol><li><a href="https://www.zhihu.com/question/7468595725/answer/1910022134312460351">如何利用 cursor 快速理解复杂代码工程？</a>: Cursor 是一款基于 AI 的代码工具，通过严格的 RIPER-5 协议，结合五种模式（研究、创新、规划、执行、审查），帮助用户快速理解复杂代码工程、制定开发计划并拆解任务，同时支持自动化工作流，将产品需求文档转化为技术架构和任务拆解，显著提升遗留项目接手效率和管理成本优化。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk1NzgxMjQ0OA==&mid=2247489816&idx=1&sn=989928020101777361b9c63b8dbffe55&chksm=c20cbcb2151edc3ac638589b0596dd4fe44cd919c177b6033ee9dcefb168fe0edd78c4e5bebb&mpshare=1&scene=1&srcid=0618VxXV1qhfuDCmQJUMYfMO&sharer_shareinfo=da3ecd986cd6fcfad23734ec74fa6282&sharer_shareinfo_first=cd4cf214372e755c614fa457c6332cda">Anthropic：我们如何构建多智能体研究系统</a>: 本文介绍了 Anthropic 公司如何构建多智能体研究系统以优化复杂主题的探索，详细描述了系统架构、提示工程、工具设计以及评估方法等方面的关键经验和挑战。</li><li><a href="https://limboy.me/docs/research-the-rise-of-ai-coding-agents-and-its-profound-impact?s=09">AI 编码代理(以 Cursor 和 Claude Code 为例)的崛起及其深远影响</a>: AI 编码代理的崛起正在推动软件开发行业发生根本性的变革，从辅助工具转变为主动代理。这种转变显著提高了生产力，同时也带来了技术债、安全漏洞和法律困境等隐性成本。开发者的角色正从代码实现者转向监督者和架构师，工程组织需要重塑团队结构和开发生命周期，以适应新现实。Cursor 和 Claude Code 是代表性工具，它们分别代表了高度集成的 AI 原生环境与灵活的代理式工具链的两种发展路径。AI 编码代理的影响不仅限于技术层面，还涉及教育、法律、伦理和经济领域的深远变革。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI1MTUxNzgxMA==&mid=2247497937&idx=1&sn=756f11046f0183ae37aa47341f8f0c8a&chksm=e8a98f9389f9016bd13ee26bcecadac65fd8ea3c0571102a2a044916867dba581643991c4a95&mpshare=1&scene=1&srcid=0620K6JldF92PkP0VcXalYWX&sharer_shareinfo=68602cc4f40b549f70dde957725524f2&sharer_shareinfo_first=68602cc4f40b549f70dde957725524f2">我是如何使用 Claude Code 的</a>: 本文作者分享了自己使用 Claude Code 的经验和技巧，详细介绍了如何优化其功能以提高编程任务的效率，同时探讨了自动化与人工监督之间的平衡。</li><li><a href="https://bigeagle.me/2025/07/kimi-k2/">写在 Kimi K2 发布之后：再也不仅仅是 ChatBot</a>: 文章作者分享了关于 Kimi K2 发布后的心得体会，讨论了人工智能技术的进步及其对产品形态的影响，并探讨了开源的意义、模型能力的提升以及公司在追求 AGI（通用人工智能）目标上的决心。文章还提到了一些行业趋势、竞争环境以及对未来的展望。</li><li><a href="https://www.bestblogs.dev/article/a5ae61">“10x Cursor”开发体验， Claude Code 如何带来 AI Coding 的 L4 时刻？｜ Best Ideas</a>: 文章分析了 Claude Code 如何凭借其强大的模型能力和 Agentic 异步性实现 AI 编程的 L4 级别体验，并对比了其与 Cursor 的优劣及 CLI 与 GUI 在 AI 编程工具中的未来形态。文章还探讨了 AI 编程工具的能力边界和未来发展方向，包括冷门知识处理、自动化代码运维部署以及人机交互优化等。</li><li><a href="https://mp.weixin.qq.com/s/6WpXcWVRAWqCYllUqm5P1A">Manus「删博跑路」后，创始人首次深度复盘：公开产品细节，总结教训</a>: Manus AI 在爆火四个月后几乎全面撤出中国市场，其联合创始人季逸超首次深度复盘，分享了构建 AI Agent 的经验教训，包括上下文工程的关键技术点和设计理念。文章详细介绍了如何通过优化上下文、缓存命中率、工具选择和错误处理来提升 AI Agent 的性能，同时强调了上下文工程的重要性以及对未来 Agent 系统的启示。</li></ol><h2 id="鸡血"><a href="#鸡血" class="headerlink" title="鸡血"></a>鸡血</h2><p><img src="/images/Weekly#55/img_00_a543aec5.jpg" alt="image"></p><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#x64;&#x72;&#x65;&#x61;&#x6d;&#116;&#97;&#108;&#101;&#46;&#x6a;&#x67;&#x40;&#x67;&#x6d;&#97;&#105;&#108;&#46;&#x63;&#x6f;&#x6d;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-55&quot;&gt;&lt;a href=&quot;#Android-Weekly-55&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #55&quot;&gt;&lt;/a&gt;Android Weekly #55&lt;/h1&gt;&lt;h2 id=&quot;技术文</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #54</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-05-25-Android-Weekly-54/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-05-25-Android-Weekly-54/</id>
    <published>2025-05-24T16:00:00.000Z</published>
    <updated>2025-05-24T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-54"><a href="#Android-Weekly-54" class="headerlink" title="Android Weekly #54"></a>Android Weekly #54</h1><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><p><a href="https://mp.weixin.qq.com/s?__biz=MjM5OTgyNTA0MQ==&mid=2650528883&idx=1&sn=602584b3f0252a79fa395fd2b95071fc&chksm=be1bb21c24f57f77133eb011a1ac11026f7f2c99946033d4c4d6b867b827eb09694d0b4bbd32&mpshare=1&scene=1&srcid=0521cst0dY5W7jUzmIkqwpap&sharer_shareinfo=7517c74675dc48f3a73e78bccee6da2c&sharer_shareinfo_first=be99089260178358b000d11a528fc2de">一文看懂 2025 Google IO，誓把一切“装”上 Gemini，谷歌眼镜 10 年逆袭归来</a>: 2025 年 Google I&#x2F;O 大会聚焦 Gemini 技术，展示了其全面融入谷歌生态的最新进展，包括升级的 AI 模型、生成工具、搜索功能和智能眼镜等，旨在将 AI 技术深度嵌入日常生活和工作场景。  </p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247493978&idx=1&sn=a011191005ce12ea9635d2aba4ca2ad3&chksm=cf58fd4e0baf67223637d9eea45a0e8d9bb6410fdb79915a76e7fe64592e910817e392b2bcaa&mpshare=1&scene=1&srcid=0522Ln7nhxga2pRU7piaZcTw&sharer_shareinfo=8ea7b409b2967a288626088ed0ab757f&sharer_shareinfo_first=8ea7b409b2967a288626088ed0ab757f">Dart 3.8 发布，新格式化，新语法支持</a>: Dart 3.8 发布，带来了多项重要更新，包括新的格式化功能、Null-Aware Elements 语法支持、Web 热重载初体验以及 FFigen 和 JNIgen 的原生互操作性支持等。  </p></li><li><p><a href="https://zhuanlan.zhihu.com/p/1905227985553982515?share_code=nJ1N9ifWrDk1&utm_psn=1909210802503816070">Android 16 版本调测新特性汇总</a>: 这篇文章主要总结了 Android 16 版本中的一些新特性和调测工具，重点关注性能、可靠性及调试能力的提升。文章详细介绍了多个模块的改进和新增功能，包括 tracing_perfetto 接口、Bitmap 维测能力、Native 内存统计、动态插桩能力、性能分析工具等。  </p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649081177&idx=1&sn=b37cd8201e66e831df13183d44f720b0&chksm=862025a07502afd83813b590d819c4acd9c0d26e38317d1c831da382b065ee1975dfd7f5f274&mpshare=1&scene=1&srcid=0524XtsbFUp2phETRm5t0XwU&sharer_shareinfo=d1e7c39cc9f6a67128dbeba7d2645913&sharer_shareinfo_first=d1e7c39cc9f6a67128dbeba7d2645913">安卓渲染管线能耗优化之刷新率和分辨率</a>: 安卓渲染管线能耗优化主要围绕刷新率和分辨率的调整展开。通过基于用户注意力原则和不同 UI 场景，优化刷新率和分辨率设置以降低功耗。  </p></li><li><p><a href="https://juejin.cn/post/7507470504136917042">Binder 原理（二）之 Java 层源码分析</a>: 本文详细分析了 Android Binder 机制的 Java 层源码实现，包括 Binder 的分层结构、AIDL 生成过程、进程间通信的发送与接收逻辑，以及 Stub 和 Proxy 的具体实现方式。  </p></li><li><p><a href="https://juejin.cn/post/7507473264797909027">Binder 原理（三）之通信内核</a>: 本文详细解析了 Android Binder 通信机制的原理，包括其核心概念、内存映射方式、通信流程、源码分层结构以及 AIDL 和 Binder 的关系。文章还对 Binder 的一次拷贝机制、跨进程通信的实现方法以及内核驱动源码进行了深入探讨。  </p></li><li><p><a href="https://juejin.cn/post/7507460145082449920">Binder 原理（四）之 IPC 通信框架：服务发现、查找、调用</a>: 本文详细解析了 Android 系统中 Binder 跨进程通信框架的原理与实现，包括服务注册、服务发现、服务调用的流程，并通过手写 IPC 通信框架的方式，帮助读者深入理解 Binder 框架的工作机制。同时，文章还介绍了 Android 系统启动流程中与 ServiceManager 和 system_server 相关的内容，以及动态代理在跨进程服务调用中的应用。  </p></li><li><p><a href="https://juejin.cn/post/7507475292317499419">Google IO - Navigation 3 使用介绍</a>: 这篇文章介绍了 Navigation 3 的背景、主要变化、使用方法及其自适应布局的特点，并提供了源码和示例代码，帮助开发者更高效地处理复杂的导航需求。  </p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NDIwMTExNw==&mid=2247596593&idx=1&sn=442176a9e2cee86d06160d5e47e6c46d&poc_token=HGoqM2ijfu8Q_nA5rz1MEhBoZn0NCRkv015vsBV8">2025 Google I&#x2F;O 大会开发者主旨演讲干货盘点</a>: 2025 Google I&#x2F;O 开发者大会展示了多项创新技术，包括 AI 驱动的开发工具、生成式 AI 应用、跨平台开发支持等，助力开发者提升效率与创造力。  </p></li><li><p><a href="https://juejin.cn/post/7507206037432614924">2025 KMP 的现状和未来，选择 KMP 会有什么问题吗？</a>: 本文探讨了 Kotlin Multiplatform（KMP）的现状与未来发展，分析了其在国内外企业中的应用场景、存在的问题以及新功能和工具的改进，同时对 KMP 的技术差异和适用性进行了详细讨论。  </p></li><li><p><a href="https://juejin.cn/post/7506940141816348699">拯救你的日志系统！Android 日志打印实战指南</a>: 这篇文章详细介绍了如何优化和提升 Android 日志系统的质量，从常见痛点到具体的实践指南，包括日志级别的合理使用、动态开关机制、统一日志格式、安全与隐私保护、性能优化策略以及日志安全处理流程等内容，同时推荐了多个优秀的开源日志库供开发者参考。  </p></li><li><p><a href="https://juejin.cn/post/7507081973694251042">Android V app 冷启动(12) 真窗显示</a>: 本文详细分析了 Android V 应用冷启动过程中启动窗口的隐藏和移除机制，重点探讨了启动窗口 surface 和真窗 leash 的移除过程，并结合源码解读了相关动画的执行和完成流程。  </p></li><li><p><a href="https://juejin.cn/post/7506727402821107727">探秘智能调度线程池-方案总览</a>: 在电商行业中，传统固定参数线程池因无法适应动态业务场景而暴露出资源利用率低、响应速度衰减及稳定性隐患等问题。为解决这些瓶颈，文章提出了智能调度线程池的概念，通过引入机器学习预测模型动态调整线程池参数，从而提升资源利用率、优化性能并实现自适应业务场景。具体实现包括数据收集、模型训练、格式转换及动态调度等步骤，最终为电商 App 提供高效稳定的运行保障。  </p></li><li><p><a href="https://juejin.cn/post/7506699904031948826">从 Google IO 看移动端发展</a>: Google I&#x2F;O 展示了移动端发展的新趋势，Jetpack Compose 生态持续升级，推出 Navigation 3 导航库、自适应布局和多项新特性，同时优化性能与稳定性，强化 CameraX 和 Media3 支持；Android Studio 增强了开发与调试工具；端侧 AI 通过 Gemma 模型及 MLkit、Firebase AI 套件加速发展，传统 XML 和 View 体系逐步退出，端侧 AI 和 AI 编程成为未来重点方向。  </p></li><li><p><a href="https://juejin.cn/post/7506590644543553548">Flutter 小技巧之：Flutter 3.32 的 Property Editor 生产力工具</a>: Flutter Property Editor 是一个生产力工具，需要 Flutter 3.32+ 才能使用。它支持在 VS Code 和 Android Studio&#x2F;IntelliJ 中通过可视化界面查看和修改 Widget 属性，结合 Flutter inspector 和热重载，开发者可以实时查看更改效果。该工具支持不同类型的属性输入和筛选功能，帮助开发者更高效地管理 Widget 的属性。  </p></li><li><p><a href="https://juejin.cn/post/7506798854286049318">Android 重修之路：Framework 开发之 AOSP 源码下载与编译</a>: 这篇文章详细介绍了如何下载和编译 Android AOSP 源码，包括环境依赖、安装所需软件、下载源码以及编译 ROM 的具体步骤，并提供了一些实用的技巧和注意事项。  </p></li><li><p><a href="https://blog.csdn.net/learnframework/article/details/148089662">重学 input：为什么要进行二次拦截？interceptKeyBeforeQueueing 和 interceptKeyBeforeDispatching 区别</a>: 该文章主要探讨了 Android 系统中两种关键的按键事件拦截方法：interceptKeyBeforeQueueing 和 interceptKeyBeforeDispatching，并详细分析了它们的触发阶段、应用场景及代码逻辑差异。文章还总结了这两种方法如何协同工作以确保系统快速响应全局操作，同时灵活处理应用层交互。  </p></li><li><p><a href="https://blog.csdn.net/learnframework/article/details/148110431">面试福利 2：安卓系统 Framework 开发面试题目汇总</a>: 安卓系统 framework 开发面试题目汇总，文章主要整理了一些安卓 framework 开发相关的面试题目，涵盖了 socket 通信、Binder 机制、系统启动优化、性能分析等多个技术领域，并提供了部分解决思路或讨论方式，适合面试前准备和提升技术理解。  </p></li><li><p><a href="https://juejin.cn/post/7506779269197922340">Flutter 图片预加载</a>: 本文详细介绍了一个名为 ImagePreloader 的 Flutter 图片预加载工具，支持批量并发加载、状态监听以及对 SVG 图片的兼容。文章从工具的主要功能、核心代码实现到使用示例，逐步讲解如何通过预加载优化用户体验。  </p></li><li><p><a href="https://juejin.cn/post/7506714638027587595">吐槽一波车载应用开发恶心点</a>: 这篇文章主要吐槽了 Android 车载应用开发中的复杂流程，尤其是车载 Launcher 应用的安装和启动问题，并提出了通过脚本优化流程的解决方案。  </p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NDIwMTExNw==&mid=2247596580&idx=1&sn=67e22b55c06bf6a2449ae20d7b16dcb1">Google I&#x2F;O 2025：从研究到现实</a>: 本文是关于 Google I&#x2F;O 2025 大会上 Sundar Pichai 的讲话内容，介绍了 Google 在 AI 领域的最新进展、产品发布以及未来发展方向，涵盖了 Gemini 模型的迭代、AI 在搜索、通信、个性化服务等方面的应用，以及新技术如 Google Beam 和 Project Astra 的推出。  </p></li><li><p><a href="https://juejin.cn/post/7505357994621927462">Android 内存泄漏检测全解析：从手动分析到自动化治理的实战指南</a>: 本文详细解析了 Android 内存泄漏的原理、常见场景、检测工具（手动与自动化），并结合代码示例介绍了如何定位和修复泄漏问题，同时分享了内存泄漏的预防与最佳实践。  </p></li><li><p><a href="https://juejin.cn/post/7505968496393044018">FART 主动调用组件设计和源码分析</a>: 本文探讨了 Android 应用脱壳的现有问题，并详细分析了基于主动调用的自动化脱壳方法（FART）的设计与实现，包括主动调用链的构造、CodeItem 的提取与解析、以及如何实现对所有类和方法的主动加载与调用。  </p></li><li><p><a href="https://juejin.cn/post/7505968496393027634">FART 自动化脱壳框架简介与脱壳点的选择</a>: 本文介绍了 FART 自动化脱壳框架的原理和实现，特别是在 ART 环境下如何通过主动调用实现 dex 文件的完整 dump 和函数修复。</p></li></ol><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><ol><li><a href="https://zhuanlan.zhihu.com/p/1906792612494569713?share_code=CVmLSw2wJkyF&utm_psn=1909688016924042850">谈国产手机谁能活下来？</a>: 文章分析了国产手机市场的激烈竞争现状，指出低端市场价格战严重，厂商普遍面临亏损压力。华为和苹果凭借软硬件一体化及研发投入占据高端市场，小米通过 SOC 芯片量产展现研发潜力，VIVO 和 Oppo 则依靠稳定产品质量和特色调整逐步发展。荣耀虽有硬件创新优势，但缺乏品牌效应和营销突破，未来发展充满不确定性。整体来看，国产手机厂商需找到差异化定位才能在红海市场中生存。</li><li><a href="https://joojen.com/archives/8297.html">陷入混沌，个人如何应对</a>: 文章探讨了在混沌和不确定性中，个人如何通过构建人生系统、提前规划和资源储备来寻找确定性，同时强调投资和风险管理的重要性，以及以终为始的思维方式对实现时间自由和财务自由的帮助。</li><li><a href="https://innei.in/notes/192">工作周年与 AI 焦虑：成长与挑战并存</a>: 作者回顾了在 Folo 工作一年的经历，比以往工作都久，虽然曾因各种原因频繁换工作。一年来，他从零起步参与并主导了产品的设计、重构交互与功能，并快速完成了 Web 和 Mobile 的多端改造，团队仅 4 人，成就感十足。对未来仍有些焦虑，担心自身成长和产品前景，期待变得更好。同时，他表达了对 AI 迅速发展带来的焦虑：AI 虽然提升了生产效率，让非专业程序员也能做好开发，但让他担心自身能力退化，害怕成为可被替代的“低级程序员”。他感到在 AI 辅助下对新技术的自信提升，但也担忧不依赖 AI 时独立思考和编程能力的下降。</li><li><a href="https://blog.guyskk.com/notes/age-30">三十而砺 - 反思我的创业</a>: 2025 年 5 月 21 日，作者回顾了四年创业的经历，尽管失败，但收获了宝贵的经验和成长。他反思了商业规律，强调了用户需求、推广和差异化价值的重要性，并分享了创业带来的认知升级和生活的动态平衡。未来计划转向定制项目和知识分享。</li></ol><h2 id="AI"><a href="#AI" class="headerlink" title="AI"></a>AI</h2><ol><li><a href="https://mp.weixin.qq.com/s/D8WvnDN8xfDhYlnSxjTo7g?s=09">从 Claude 4 发布和 Windsurf 并购案，看 AI 的终局</a>: 从 Windsurf 被 OpenAI 以 30 亿美元收购的案例出发，文章探讨了 AI 行业的终局可能性，并分析了大模型对传统互联网流量生态的冲击、AI 创业者的机遇、以及中型企业在 AI 浪潮中的生存策略。文章还详细剖析了 Windsurf 的发展历程及其选择被收购的原因。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NDIwMTExNw==&mid=2247596580&idx=3&sn=5de027b130203e8ef3e6c6ee1daddfd4">Gemini 2.5：我们最智能的模型系列再升级</a>: Gemini 2.5 是 Google 最新升级的智能模型系列，带来了显著的性能提升和新功能，包括更自然的对话体验、更高的安全性以及支持开发者使用的多种工具。2.5 Pro 和 2.5 Flash 在多个领域表现出色，并通过新的技术如 Deep Think 和文本转语音功能进一步增强了用户体验。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NDIwMTExNw==&mid=2247596580&idx=2&sn=dc0528a85b4f05293d7b98b35b65ccc8">我们构建通用 AI 助手的愿景</a>: 谷歌通过多模态基础模型 Gemini 2.5 Pro 和项目如 Project Astra、Project Mariner，致力于构建通用人工智能助手，具备多任务处理、视频理解、屏幕共享等能力，以提升生产力和生活质量，同时将 AI 安全与伦理作为核心指导，推动科学进步和技术创新。</li></ol><h2 id="鸡血"><a href="#鸡血" class="headerlink" title="鸡血"></a>鸡血</h2><p><img src="/images/Weekly#54/img_00_5ea7e37f.jpg" alt="image"></p><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#x64;&#114;&#x65;&#97;&#109;&#x74;&#97;&#108;&#101;&#46;&#x6a;&#x67;&#64;&#103;&#x6d;&#97;&#x69;&#108;&#x2e;&#99;&#111;&#109;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-54&quot;&gt;&lt;a href=&quot;#Android-Weekly-54&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #54&quot;&gt;&lt;/a&gt;Android Weekly #54&lt;/h1&gt;&lt;h2 id=&quot;技术文</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #53</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-05-19-Android-Weekly-53/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-05-19-Android-Weekly-53/</id>
    <published>2025-05-18T16:00:00.000Z</published>
    <updated>2025-05-18T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-53"><a href="#Android-Weekly-53" class="headerlink" title="Android Weekly #53"></a>Android Weekly #53</h1><blockquote><p><strong>Android Weekly</strong> 是一份专注于 Android 技术生态的周刊，每周一更新。本周刊深入挖掘 Android 系统架构、性能优化、跨平台开发、AI 等领域的高质量技术内容，为开发者提供持续的知识更新与技术洞察。  </p></blockquote><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzNDQxNTI4OA==&mid=2247483808&idx=1&sn=3bb9507a21688380c55297d53b2314e2&chksm=c326c892d10d0d3f612eee996d50b7cbe6d0413ef856911758b976a10d9239611d64704c4dee&mpshare=1&scene=1&srcid=0421zjQH7D2C56oJpiTkfq8M&sharer_shareinfo=e7aede7ea084a98add31bffe689d3c70&sharer_shareinfo_first=e7aede7ea084a98add31bffe689d3c70">程序员的自我修养 - 第三章 目标文件里面有什么</a>: 本文深入探讨了目标文件的结构及其组成部分，重点介绍了 ELF 文件格式的内容，包括文件头、段表、符号表、重定位表等，并通过实例分析了各个段的具体作用和存储内容。同时，文章还讲解了符号修饰、强弱符号与引用、C++与 C 的兼容性以及调试信息的相关知识，帮助读者全面理解目标文件的内部结构与工作原理。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649081032&idx=1&sn=92120273eeb6c9e7d74be1f3027735c5&chksm=86f85a072e9ff28343b106099a55b22cd02a54a379c8608b53d5bbbd6435b4b85f978160b3ff&mpshare=1&scene=1&srcid=0421HChpdMwVLwKp3oRUEgPD&sharer_shareinfo=ca1c33bc2f10c23eeaa80ab94ac03b11&sharer_shareinfo_first=ca1c33bc2f10c23eeaa80ab94ac03b11">有时候你 APP 发生的 ANR 不是你的错-分享 1 个 Google 工程师没 bug 改出 bug 的一个案例</a>: 这篇文章通过一个有趣的案例，分析了某些情况下 APP 发生的 ANR（应用程序无响应）并非开发者的错误，而可能是底层代码重构导致的问题。文章以《王者荣耀》APP 的 ANR 问题为例，讲述了 Google 工程师在 2015 年为解决潜在问题进行代码重构时引入了一个新 bug，随后在 2017 年被手机厂商发现并修复的过程。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzUxNzQ5MTExNw==&mid=2247494005&idx=1&sn=8a62f95dd2219613efc32a0b6bf61301&chksm=f8801184d757792364ace65930094af1ad78457a74985a0d589fefd8eb28244b9c782c066024&mpshare=1&scene=1&srcid=0421wWroquQYHeqxgOOIbzxc&sharer_shareinfo=f2909b87c99d7f132bcb1bbeb6efad25&sharer_shareinfo_first=52ffdb500f38fd8a654e1bc9e8ad1ffa">再来谈谈 GPU 体系结构及互联</a>: 本文主要探讨了 GPU 体系结构及互联技术的发展、挑战和未来方向。文章结合作者的经验与行业实例，分析了 ScaleUP 与 ScaleOUT 架构的优劣、内存访问优化、网络处理器设计以及国内外相关技术的现状与趋势。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4NTk1NzYwNg==&mid=2247483946&idx=1&sn=2d186d4b0efc24ae5038d393128b0bfe&chksm=eaa4862488ea18cecccbe3ea52309064792598e71532b125bfe54a20989f7c29bb7be71503d5&mpshare=1&scene=1&srcid=04225GxYVqp72XHv3i9aERSp&sharer_shareinfo=9162aaeb2ac935bd18fdf9aea685e3eb&sharer_shareinfo_first=9162aaeb2ac935bd18fdf9aea685e3eb">后 AOSP 时代还能贡献代码吗？</a>: 后 AOSP 时代，尽管 Google 将 Android 开发转为内部分支，但代码仍然开源且可贡献。文章通过一个具体问题的解决过程，详细展示了如何在后 AOSP 时代贡献代码，包括源码下载、分支切换、问题修复、提交代码以及 Google 代码审查流程等，同时也探讨了后 AOSP 时代贡献代码的挑战与局限。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649081051&idx=1&sn=1a2f379bf23af5de78fb6fd2ecda16f3&chksm=86b6aa0d954b10d345c0d2163cf2b5a6fa5681442709de0cbc5f4a9928a51cd1afbfa5677896&mpshare=1&scene=1&srcid=0423jRRyCqm6MAKq1o8XEUB1&sharer_shareinfo=261579247e24b4d887dc7c3d057e0fe2&sharer_shareinfo_first=261579247e24b4d887dc7c3d057e0fe2">OPPO ColorOS 极光引擎 并行绘制架构</a>: OPPO 去年推出的极光引擎采用行业首创的并行绘制架构，显著提升了 Android 系统的流畅度和用户体验。通过并行响应和统一绘制技术，解决了传统 Android 系统中点击不跟手、页面过渡闪跳的问题，同时优化了动画效果和触控响应速度，提升了整体性能和功耗效率。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247493579&idx=1&sn=27bd4e51d74b9991b8119d2540f9296b&chksm=cf1d7aae975586c6463a3edf3d4d202053d2e0d334c457b66415a84fa2f264e54186d848e671&mpshare=1&scene=1&srcid=0424m639EQmLF90KipjB05vD&sharer_shareinfo=328e62567bc68faa9453e85930eb12a2&sharer_shareinfo_first=328e62567bc68faa9453e85930eb12a2">Flutter 在全新 Platform 和 UI 线程合并后，出现了什么大坑和变化？</a>: Flutter 在 3.29 版本中合并了 Platform 和 UI 线程，为后续原生语言与 Dart 的直接同步调用奠定了基础。然而，这一功能的实现也带来了新的问题，包括在 Android 调试时可能触发 ANR 弹框，以及应用启动时的延迟增加。为解决这些问题，Flutter 引入了新的线程模式 kMergeAfterLaunch，通过单独的启动线程优化了启动性能。此外，macOS 也完成了线程合并，未来可能在该平台上支持更多自定义功能。</li><li><a href="https://www.bilibili.com/video/BV1TTLxzBEj7?buvid=Y94D459F35DD63BA47C7B72805DAB39E498F&from_spmid=main.my-history.0.0&is_story_h5=false&mid=XrvIT2S4O2XEU9rh3txwVw==&plat_id=116&share_from=ugc&share_medium=iphone&share_plat=ios&share_session_id=07087527-8565-46AA-A44D-7101D7F5AA43&share_source=WEIXIN&share_tag=s_i&spmid=united.player-video-detail.0.0&timestamp=1745493232&unique_k=28m28pv&up_id=518970180&_unique_id_=63975c30-1b60-43e1-9033-56d6e173725c&code=0414cC0w35xIM435i03w3YqA8L14cC0c&state=&wxfid=o7omF0T3YattlVwQA3UqlXeHEa8k&share_times=1&vd_source=0c6d2191e785de0a36dc21a9da7e664e">基于 eBPF 用户态调度器的 Android 系统性能优化与应用实践</a>: 第三届 eBPF 大会 分会场 3 古钦辉_肖俊 基于 eBPF 用户态调度器的 Android 系统性能优化与应用实践</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg2MjE0MTE2MQ==&mid=2247496202&idx=1&sn=f2b915c81afe56152d06cdf0863d02e1&chksm=cf49ff8809f92a2a4d5698cd91a8143a812cce1dc3f0b996ac16e008482b00c3acea51194830&mpshare=1&scene=1&srcid=04273SuI4biCr0dFdVvr3d8T&sharer_shareinfo=b7f14f47ffa5027c09c91da3734cc378&sharer_shareinfo_first=5cf45553911277445d1816634392d7a6">大厂实战：TikTok 跨平台框架 Lynx 终于开源</a>: TikTok 最近开源了其自研的跨平台框架 Lynx，该框架通过 Web 技术实现跨平台开发，具有高性能和高开发效率的特点。Lynx 采用双线程架构和高性能渲染技术，支持多端兼容性，并已在 TikTok 的多个核心场景中应用，表现出色。尽管 Lynx 在性能和迁移成本上有优势，但其社区支持尚不如 Flutter 等传统框架。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NzkxMjA1MA==&mid=2247485484&idx=1&sn=2ac670fdada4f4224c542cc9988b7610&chksm=ceafdec0f10ce66b3d789c09c3c0c5fb60af12f5baa65cea6644b925370cefaf72d9da3459fe&mpshare=1&scene=1&srcid=0504XiZ5TWeWeVQLSiwnKhBB&sharer_shareinfo=1e70d80dbc472afc7c60e230fea144df&sharer_shareinfo_first=1e70d80dbc472afc7c60e230fea144df">GPU 火焰图的探索-iaprof</a>: 近期，Brendan Gregg 所在的团队开源了一款面向于 intel 平台的 ai 火焰图生成工具，本文主要介绍其中提到的相关可视化方法和工具。 AI 火焰图 AI 火焰图我们在上一篇介绍 GPU profiling 的文章中曾经介绍过，通过不同的颜色将 CPU 和 GPU 的调用栈混合在一起进行分析： 绿色框是 AI 或 GPU 加速器上运行的实际指令，浅绿色显示这些函数的源代码</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI1MzYzMjE0MQ==&mid=2247514363&idx=1&sn=5fd1ee73fdd4caf15c2ce1be6a4b17ce&chksm=e859b945d5d98e569c6ffbe3d68fb6c30948d292caa5be100ec4e5f21c529f4495824119a4c0&mpshare=1&scene=1&srcid=0506uQVifSPU59aZiqA9i6Ub&sharer_shareinfo=74bfa336d7ab91819633345a113ed2a4&sharer_shareinfo_first=e8d3f6d1cba4ee9e8666e10cc63324df">抖音 renderD128 系统级疑难 OOM 分析与解决</a>: 抖音长期存在 renderD128 内存占用过多导致的虚拟内存 OOM，且多次出现 renderD128 内存激增导致 OOM 指标严重劣化甚至发版熔断。因受限于闭源的 GPU 驱动以及现场有效信息极少，多个团队都进行过分析，但一直未能定位到问题根因，问题反馈到厂商也一直没有结论。以往发生 renderD128 内存激增时，解决办法往往都是通过二分法去定位导致问题的 MR 进行回滚(MR 代码写法并无问题，仅仅是正常调用系统 API)，但是回滚业务代码会影响业务正常需求的合入，也无法从根本上解决该问题，每次也会消耗我们大量人力去分析排查，因此我们有必要投入更多时间和精力定位根因并彻底解决该问题。在历经数月的深入分析和排查后，我们最终定位了问题根因并彻底解决了该问题，取得了显著的 OOM 收益，renderD128 内存问题导致的发版熔断也未再发生。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4NTk1NzYwNg==&mid=2247483960&idx=1&sn=557d57c0546ad89e8c347bc2b1b2b802&chksm=ea3d3c1f44cee85b670617cc66873a8b45ac1389efdcd715358acbfcd331fa6483d05cbbfa2f&mpshare=1&scene=1&srcid=0506EfTPryBNUVTZ7IaKONAI&sharer_shareinfo=a8e612b30b88f08cc9774e661596de0f&sharer_shareinfo_first=a8e612b30b88f08cc9774e661596de0f">Android 丨如何解决 CFI 检测报错</a>: 在 Android 的语境里，CFI 有两种含义。一种叫作”Call Frame Information”，是 DWARF 调试信息里的内容，主要用于回溯调用栈时找到每一帧的地址。另一种叫作”Control Flow Integrity”，是 Clang 中引入的一种安全机制，通过指令插桩来防止某些恶意攻击。这里我们讨论的 CFI 属于第二种情况。按理说，这种安全机制离我们应该很远，不了解也无所谓。但实际情况却是，开启了 CFI 的模块多少都遇到过 CFI 的检测报错。奇怪，在我们的测试环境里又没人恶意攻击，那这些检测报错到底是什么意思呢？下面列举几个常见的 CFI 的错误示例。</li><li><a href="https://juejin.cn/post/7500899379647643674?share_token=446d5808-75ef-4054-8a40-188300bd9e75">Jit&#x2F;Profile Saver 线程工作流程-基于 Android S</a>: 经常在分析问题或者看 trace 文件时遇到 jit thread 和 Profile saver thread，本文基于 Android S ART 源码，介绍下我们常见的 jit 线程和 Profile Saver 线程的工作流程。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTQ4NDUyNg==&mid=2247490100&idx=1&sn=8f5657afbffaee743aa44a8594bacb55&chksm=c3c0509d2348aebb889008a12cae76a5399b36fa6d8bda476d168a266c96efc9c1fe1116911c&mpshare=1&scene=1&srcid=0507OQjjMjPxq1chXsw3MfPy&sharer_shareinfo=360cf2db8bd0d168098742b5cbe084a3&sharer_shareinfo_first=8b1c9a8f8cada960554e9c1456575eab">手把手教你 uinput 命令的使用方式-重学安卓 input 子系统</a>: android 系统中自带了一个 uinput 命令，但是这个命令其实对于使用者并不友好，因为本身命令的使用没有相关的 help 提示，命令的使用方式基本上整个互联网上都没有相关的文章，那马哥只能为 vip 学员们开荒啦，所以本文要带大家学习一下如何使用 uinput 命令实现 input 事件的注入。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzU0Mjk4NTEzMg==&mid=2247484881&idx=1&sn=d61760c0956d40d057016f7b2d8fb668&chksm=fae6ddd744c73d7b6fe28e421512b8db772fbcae65edec9c407e57322ee745588f6c4eb9a053&mpshare=1&scene=1&srcid=0507bdXlkIIgPxvFUYaGxVTw&sharer_shareinfo=792415ed4c93107e839361be0d3976f5&sharer_shareinfo_first=792415ed4c93107e839361be0d3976f5">Compose Multiplatform for iOS 稳定版已经发布</a>: 大早上就看到了一条令人激动的消息，JetBrains 在几个小时前发布了 Compose Multiplatform 1.8.0 版本，CMP for iOS 已经稳定并可以投入生产，等了这么久终于等到这一天了。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkyNTMwMjI2Mw==&mid=2247503443&idx=1&sn=284875bc09501173f8ea5800a37b2908&chksm=c028560f091ce304398380309cbf0f2a82bb0bcd37414abd83492228cee5103006cd87107eb4&mpshare=1&scene=1&srcid=0507ZK3YgOxubtbDQrAeykZT&sharer_shareinfo=c3ed28bfb00b1d769ca0d8792a8b04d7&sharer_shareinfo_first=c3ed28bfb00b1d769ca0d8792a8b04d7">编译器优化那些事儿（22）：LLM for Vectorization</a>: 随着大语言模型（Large Language Model, LLM）技术的迅猛发展，其应用已从通用领域快速渗透至编译技术等专业场景。本文将聚焦大模型在编译优化中的创新实践，重点探讨基于大模型的自动向量化的优化方法及其实现机制。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649081071&idx=1&sn=6e64718cec3577682d3496d951611027&chksm=8678173a854abcc399bc10895854223579e54b9d4035aaa9e8a01e995a2b4c12b4b63b7d8555&mpshare=1&scene=1&srcid=0507aPPsaibiVNlzdRnaHb1x&sharer_shareinfo=589c095fed9080aa4718ec7238d7f27f&sharer_shareinfo_first=589c095fed9080aa4718ec7238d7f27f">android app 绘制数据的流转</a>: 这篇文章详细介绍了 Android 应用中数据绘制的流程，从数据的序列化存储到最终在屏幕上的显示。它涵盖了 DisplayListData 的存储与操作、SkiaRecordingCanvas 的数据流转、RenderNode 的数据同步以及 OpenGL ES 指令的执行流程，最终通过 SurfaceFlinger 完成图层合成和显示。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247493702&idx=1&sn=b1edb483941ae86a5b49e9ada8bd7dbf&chksm=cf9e40b086d6ee0fd816a58809397b6970d72355e0f877f4515ceff719878bd4aae62ca5ed74&mpshare=1&scene=1&srcid=0509HwPHch4aXyTbKXBCdtFX&sharer_shareinfo=fca42aa5c08801adbd35b48451a9f450&sharer_shareinfo_first=fca42aa5c08801adbd35b48451a9f450">React Native 前瞻式重大更新 Skia &amp; WebGPU &amp; ThreeJS，未来可期</a>: 近日，React Native 发布了前瞻式的重大更新，主要围绕 Skia &amp; WebGPU 等场景来布局未来的跨平台渲染场景，主要目的是在“追求与 Web 的对称性”的同时，提供更强大的客户端渲染支持。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTQ4NDUyNg==&mid=2247490125&idx=1&sn=f191bc593f8e11455d64aaaf02e32c15&chksm=c3974afc1108df4903085aeec78b25ec3780753654d91f2f45f225b59faa9333788b0e3f5712&mpshare=1&scene=1&srcid=0509kVAoHQhhpugn1X0JJNy6&sharer_shareinfo=2950e656997ade3e0e0465f2705906f3&sharer_shareinfo_first=2950e656997ade3e0e0465f2705906f3">经典 binder 面试题：binder 调用自己进程中的方法时是否会经过 binder 驱动？</a>: 经典 Binder 面试题：Binder 调用自己进程中的方法时是否会经过 Binder 驱动？文章通过分析 Binder 工作原理，回答了这一问题，并详细剖析了相关代码和流程，说明了当 Binder 调用发生在同一进程中时，不会经过 Binder 驱动的原因。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649081083&idx=1&sn=cc039a2de0eea9d595563dc6c27fa1dd&chksm=86303bc59f6bb42c7a2c030c72b2455b82b7310f44d22ef0d527d25745e2182958e7c5731a92&mpshare=1&scene=1&srcid=0512vTiEXcrUaXEUYsU06jTf&sharer_shareinfo=469eebccdb5589c9612d1ec373b99d10&sharer_shareinfo_first=469eebccdb5589c9612d1ec373b99d10">Android APP 系统渲染管线优化小点</a>: 这篇文章主要讨论了 Android 应用系统渲染管线中的性能优化方法，特别是在 measure()、GPU 频率提升和 shader 编译持久化等方面的优化。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg2MjE0NDE5OA==&mid=2247489209&idx=1&sn=145b3903c9bb0b2f63773735a2c1e5b9&chksm=cfee59e7e39b37f5154417baa84b6ddee53e5f65e66724015b1d79e69b76c33217ece0b6f15f&mpshare=1&scene=1&srcid=0512SlYonkoEFCDZYPw9OojH&sharer_shareinfo=fac3c4395a2283e2364ceb40171b7720&sharer_shareinfo_first=fac3c4395a2283e2364ceb40171b7720">LWN：让 CPU 调度器考虑 Cache！</a>: WN 文章探讨了如何让 Linux 内核的 CPU 调度器更好地考虑缓存局部性，以提高多线程任务的性能。文章介绍了 Chen Yu 和 Peter Zijlstra 提出的改进方法，旨在优化任务在共享缓存域中的分布，减少因迁移任务导致的性能损失，并解决负载均衡和任务聚集之间的冲突。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NzcwMTUwNQ==&mid=2247484079&idx=1&sn=ff6170b6addac84332662cb17904cd48&chksm=c285e89914b1c48d06b87d6c5ed39934e0107a9f2ce72b5b600ae04156dfedda6f7411284a47&mpshare=1&scene=1&srcid=0513LTn7Jefe1L2YJWqGAKFD&sharer_shareinfo=c8d4fe8cb117b756c3a5c7af9ed2ab27&sharer_shareinfo_first=c8d4fe8cb117b756c3a5c7af9ed2ab27">分享我几年前写的内存屏障原理与实例的 ppt</a>: 分享了一个关于 ARM64 内存屏障原理与实战的 PPT，内容涵盖内存屏障的基本概念、内核 API 以及 5 个实例分析。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247493795&idx=1&sn=d1ce9463dbb831e7a08a4929cf3477dd&chksm=cf0365904599c472282aad23786e7a4ebe7b011955e5bf1ed43c07a3e8002f3d64c4167915a2&mpshare=1&scene=1&srcid=0514MkBpjM964H2x2tXWeWf0&sharer_shareinfo=abfb6ff74c80ab9c51ca2f63529f2ddf&sharer_shareinfo_first=abfb6ff74c80ab9c51ca2f63529f2ddf">如何查看项目是否支持最新 Android 16K Page Size 一文汇总</a>: 本文详细介绍了如何检查项目是否支持最新的 Android 16K Page Size，并提供了多种方法和工具来解决相关问题，包括脚本检测、Google Play 资源管理器检查、工具分析以及适配建议。</li><li><a href="https://www.romainguy.dev/posts/2025/eliminating-array-bounds-checks/">Eliminating Array Bounds Checks</a>: 本文探讨了如何通过优化代码和消除数组边界检查来提升性能，主要以 Kotlin 代码和 ARM64 汇编为例，分析了不同情况下的指令生成及优化方法。文章还通过实例说明了如何帮助编译器减少冗余检查，并提出了一些具体的优化建议。</li><li><a href="https://www.romainguy.dev/posts/2025/merge-your-computations/">Merge Your Computations</a>: Romain Guy 的博客文章讨论了一种优化性能敏感代码的技术——通过合并或手动内联函数来减少不必要的临时对象分配和重复计算。以 Jetpack Compose 的矩阵变换代码为例，手动合并函数后，指令数从 1,062 减少到 168，性能提升显著。这种优化适用于性能关键场景，但需注意自动优化工具（如 R8 和 ART）并非总能实现类似优化。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649081118&idx=1&sn=b7010d023a5f427433d8eeeecd259a17&chksm=867a8d1f8afc283e48d24ecbfc2a926afb4924dbd6b85833db96b8e1777cd4cb6454923bbd0c&mpshare=1&scene=1&srcid=0516CWO9j30S4DqGpSmMWN6V&sharer_shareinfo=410ba1161ba7f12f1496928de818ee3c&sharer_shareinfo_first=410ba1161ba7f12f1496928de818ee3c">分享一个 android app 启动出现 Uninterruptible Sleep (non-IO) 性能问题分析</a>: 这是关于一个 Android 应用启动过程中出现 Uninterruptible Sleep（非 IO）性能问题的分析文章。通过代码分析和日志追踪，作者发现问题根源在于模拟器环境中文件描述符不足导致的内核扩容操作，而不是应用代码本身的问题。最终通过调整文件描述符限制解决了问题。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxMDM0NjExNA==&mid=2247496473&idx=1&sn=f5c831222d4c38463bbe602076bd650c&chksm=9adfafcf7ab6cfec54baa874a5df16f0b70285eee35739aa12035748ceabce818ea406f748b1&mpshare=1&scene=1&srcid=0516m1DbDhxNDQ7B9I9QxY9w&sharer_shareinfo=a0d6d7a515ae294eb67bbd238ba99d4f&sharer_shareinfo_first=a0d6d7a515ae294eb67bbd238ba99d4f">ebpf 工作原理介绍——ebpf 指令集及虚拟机</a>: ebpf 的历史，发展，意义就不介绍了。这篇文章就从一个未接触过 ebpf 工作原理的开发者的角度，通过代码以及编译工具，去理解 ebpf 的工作原理。是一篇原理介绍，也是一篇我学习 ebpf 工作原理的笔记。Ebpf 前身是 bpf，也被称为 cbpf，本文主要介绍的是 ebpf，所有 BPF 都是 ebpf 的缩写。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkwMzY3NjkwMA==&mid=2247516935&idx=1&sn=a4a8128c7e27d58d546e1ad3ed3b083b&chksm=c11efac4aa118a4cbba1815a79a3376a7af8d81a09696b9860b76c96c7feef86d9d7bdbd0287&mpshare=1&scene=1&srcid=0517H2mlrf4qdCzZU3ikhBj9&sharer_shareinfo=e06037bb4ca62e75bbcdc1d15ac58f64&sharer_shareinfo_first=e06037bb4ca62e75bbcdc1d15ac58f64">一图看懂 Android 16 新特性</a>: 一图看懂 Android 16 新特性</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649081126&idx=1&sn=d95efb99c39e96db31f87e5253b95a54&chksm=86cf5aa8bd1ad6a8ebef73687546b75d04e6e0145fcf4be49c989a1752e34e23a94f72fb0f56&mpshare=1&scene=1&srcid=0517JAncRkP7gGhG1WzxWBvU&sharer_shareinfo=ecd5e79211853de7ce50ddf7f4413c68&sharer_shareinfo_first=ecd5e79211853de7ce50ddf7f4413c68">Android app 虚拟机内存的性能优化思路</a>: 文章提出了针对 Android 应用虚拟机内存优化的多种方案，包括利用启动时 class 加载顺序进行 JIT 优化、帧间隔空闲时间的小范围 GC、CPU 繁忙时动态提升 GC 内存阈值、后台状态下按需 GC，以及通过区分热数据和冷数据进行内存压缩，以全面提升内存管理效率并优化性能。</li><li><a href="https://juejin.cn/post/7504605073953521679">结合 Fresco 源码，深入分析 CloseableReference 的内存管理机制</a>: 结合 Fresco 源码，深入分析其在 Fresco 缓存机制中的作用 CloseableReference 是 Fresco 内存管理的核心组件，用于确保图片资源（如 Bitmap 和 PooledByteBuffer）的安全分配和释放，防止内存泄漏，尤其在高并发和复杂图片加载场景下表现出色。</li><li><a href="https://juejin.cn/post/7504839725611728896">Android 应用内存分析与优化 - 工具篇之 Booster</a>: 在原理篇中，我们发现在 App 内存的分布中，Code 是占大头的部分，所以我们可以从 App 体积方面想办法，通过减小 App 体积达到降低内存的目的，同时，根据权威的机构分析，体积与用户下载和留存有很大的联系，总之体积减小有很大的好处，本篇研究了一下滴滴开源的 Booster 工具，减小包体积，优化 App 性能。</li><li><a href="https://juejin.cn/post/7493879367728168970">Android 应用内存分析与优化 - 理论篇</a>: 内存优化一直是一个很重要但却缺乏关注的点，内存作为程序运行最重要的资源之一，需要运行过程中做到合理的资源分配与回收，不合理的内存占用轻则使得用户应用程序运行卡顿、ANR、黑屏，重则导致用户应用程序发生 OOM（out of memory）崩溃。在你认真跟踪下来可能会发现内存出现问题的地方仅仅只是一个表现的地方，并非深层次的原因，因为内存问题相对比较复杂，它是一个逐渐挤压的过程，正好在你出现问题的代码那里爆了，所以针对应用的内存问题开发者必须多加关注。在内存优化开始分析之前，我们需要先搞清楚应用当前占用了多少内存，分别是什么，它们的概念指的是什么，另外，我们使用什么工具和方法进行分析，然后再进行相应的优化，我们需要解决什么问题，比如内存抖动、内存泄露、频繁 GC、锯齿状、内存溢出等。</li><li><a href="https://juejin.cn/post/7504658767956639785">卡顿优化总结</a>: 本文详细介绍了安卓应用中卡顿优化的原理、原因、性能分析工具及具体解决方案，涵盖绘制流程、渲染流程、布局优化、动画优化等多个方面，提供了全面的指导和实践建议。</li><li><a href="https://androidweekly.net/issues/issue-675/">Android Weekly Issue #675</a>: Android Weekly Issue #675</li><li><a href="https://zhuanlan.zhihu.com/p/1903125264579404598">Android 16 版本系统优化实践</a>: Android 系统持续在发展，近两年 Google 也持续优化关键组件的性能，在最新的 16 版本上看到了 Google 一些新的优化实践，值得我们去参考学习</li></ol><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><ol><li><a href="https://mp.weixin.qq.com/s?__biz=MzI2MDk1NjE5Mw==&mid=2247486093&idx=1&sn=8b3d1d8bb62a458184ae6a7091bea6aa&chksm=eba9176d1c19ac41964b3958de343e6fea17d7f0a7fb3f73ec915e1496144604d55bf31f4194&mpshare=1&scene=1&srcid=0421ut6JY83hlp8FddsIFYe9&sharer_shareinfo=a437e937c568ca5bc397beebe0ff568e&sharer_shareinfo_first=a437e937c568ca5bc397beebe0ff568e">独立开发周记 114：第一次参加独立开发者线下聚会</a>: 独立开发者分享了第 114 周的周记，记录了他在开发工作、线下活动和个人生活中的点滴。这一周他完成了多个 App 的更新和优化，参与了首次线下独立开发者聚会，并分享了阅读、影视和游戏体验。</li><li><a href="https://mp.weixin.qq.com/s/w32GOkMN4sd0O6fWmXTQTg">卢尔辰：知识的利息比银行利息更高</a>: 卢尔辰在文章中探讨了“知识的利息”这一概念，认为知识的增长和应用就像财富的利息一样，通过学习和实践可以实现复利效应，同时强调终身学习的重要性及其对认知和财富增长的影响。</li><li><a href="https://github.com/PKUFlyingPig/cs-self-learning?s=09">PKUFlyingPig&#x2F;cs-self-learning</a>: 这篇文章介绍了一个名为“CS 自学指南”的开源项目，旨在帮助计算机科学初学者通过高质量的在线资源进行自学。作者基于自身经验，分享了课程推荐、自学规划及资源整合，并鼓励社区共同贡献内容。</li><li><a href="https://zhuanlan.zhihu.com/p/31643845708">工作十年，一个 Android 开发者的自我修养</a>: 这篇文章是一位 Android 开发者的职业回顾与感悟，作者通过分享自己的工作经历，总结了技术成长、职业规划、时间管理等方面的建议，同时反思了行业现状和个人发展路径。文章从具体经历出发，逐步引申出对技术深耕、创造力、保持逆熵等主题的深入思考。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI1ODQ3NDA2Mg==&mid=2247486473&idx=1&sn=157bb55c8b122e47eb6f1fbc2617b973&chksm=ebc5e7e7d46063da3f7d4d2686b06f704018e93d5898cee3b26db81ef34e55e69b1fa5f1f6d4&mpshare=1&scene=1&srcid=05060kVMBdzyAuiiMZsl9YfC&sharer_shareinfo=fb4aac542fee4570fa300d0113decc03&sharer_shareinfo_first=fb4aac542fee4570fa300d0113decc03">四月小结：开始有睡后收入</a>: 四月小结：开始有睡后收入</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk3NTA0NjcyMw==&mid=2247483730&idx=1&sn=8f63c5f4859b5af5642e9a91ac25b3d7&chksm=c5fa550f1438ee542aae3d7c8009da4c634a69f8db63c31787777b59df86d1ea00ea746c3541&mpshare=1&scene=1&srcid=0512N9ClLv8DAxykO8YsiBJf&sharer_shareinfo=ba2b39923cfe8aa12fdb09dcef8ab3bc&sharer_shareinfo_first=ba2b39923cfe8aa12fdb09dcef8ab3bc">Productivity</a>: 这篇文章探讨了如何通过工具和方法论提升个人工作效率和生活质量，作者分享了自己的时间管理、任务规划、工具使用及休息方法等经验。</li><li><a href="https://sugarat.top/weekly/2025-05-18.html">视野修炼第 119 期 | 终端调色</a>: 欢迎来到第 119 期的【视野修炼 - 技术周刊】，文章介绍了多个技术相关主题，包括终端调色盘、开源工具、AI 工具以及趣图推荐等内容，旨在分享前端开发和技术领域的最新动态与实用工具。</li><li><a href="https://www.ftium4.com/ux-weekly-233.html">体验碎周报第 233 期（2025.5.19）</a>: 系统的知识来源于对碎片的整理和思考，为了更好地输出系统知识，记录本周我发现的体验设计和思考，为构建系统知识做准备。</li><li><a href="https://www.ixiqin.com/2025/05/18/how-to-understand-that-life-is-a-wilderness/">如何理解人生是旷野？</a>: 如何理解「人生是旷野」这句话？文章从作者的个人经历出发，探讨了职场轨道与自由模式之间的差异。对于上班族而言，人生如同轨道，路径明确；而选择自由职业或个体经营后，人生则如旷野般充满可能性，但也存在不确定性和风险。</li></ol><h2 id="AI"><a href="#AI" class="headerlink" title="AI"></a>AI</h2><ol><li><a href="https://mp.weixin.qq.com/s/0d7whoEPsH74PB5kBtdOxw">[译]AI 算力民主化 第九部分：为什么硬件公司难以构建 AI 软件？</a>: 文章探讨了硬件公司在构建 AI 软件时面临的结构性挑战，分析了 NVIDIA CUDA 的统治地位及其生态系统的强大优势，同时揭示了硬件公司在激励机制、资源分配和技术演进上的局限性，最终提出要实现 AI 算力民主化需要彻底重构规则。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4NjAxNjY4Nw==&mid=2650240497&idx=1&sn=c51254f48585ca3bc759438d25e4540f&chksm=f200a6e7ba3d0efa1f8916c3d0fea9f82533126ab7cc5798406aca9a1c65d44a3134647ab9da&mpshare=1&scene=1&srcid=0421uaxqI4Sqmjhv1eNcmoWV&sharer_shareinfo=4913b71b6b612b1bfa4180edc514e77a&sharer_shareinfo_first=4913b71b6b612b1bfa4180edc514e77a">办公类 AI 初探：扣子空间</a>: 办公类 AI 被认为是未来 AI 产品的风口，因其在企业和个人办公市场的巨大潜力。文章以“扣子空间”为例，介绍了其通过自动调用智能体（Agent）实现零基础办公任务处理的能力，支持文档撰写、表格生成、PPT 制作、地图分析等多种应用场景，并内置专家系统提供深度分析功能。扣子空间以自动化和易用性为核心设计，显著提升了办公效率，是一款高完成度的办公助手型 AI 产品。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkwMzY5NzU2Nw==&mid=2247486222&idx=1&sn=339091580bdb9e1c372b073a78861c5b&chksm=c1d2d2024d5c147c11e072376906ecdcb7ef26a854c3ab0147825fa422616bf9dd995e12fdf3&mpshare=1&scene=1&srcid=0422OnaWC5wn1l1tifvJXILS&sharer_shareinfo=41eb89afb4b51a8c7e426d8c25926a34&sharer_shareinfo_first=41eb89afb4b51a8c7e426d8c25926a34">Trae 重磅更新：AI 编程+智能体+MCP，言出法随的新世界入门</a>: 文章介绍了 Trae 这一 AI 编程工具的最新更新，包括 MCP（大模型上下文协议）、智能体功能以及其实际应用。这些功能结合 AI 编程技术，能够实现“言出法随”的编程体验，例如通过自然语言生成代码、调用工具等。文章还详细讲解了 MCP 的配置步骤、常见问题及实际操作案例。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzU4MDQ3MTQ0Mw==&mid=2247484120&idx=1&sn=27a6b42271ec9723def98ffa873c3b62&chksm=fc259ee96b0676fb48d5c68532d0c7f23444d64e896f07dd144f7d878a52c23fe1c0697d7f6c&mpshare=1&scene=1&srcid=0424NMEk2pMCfoyqBlM9FECT&sharer_shareinfo=f19447f86f0ca3a0d2bcac7c9e0c795f&sharer_shareinfo_first=948307e3e0d29db47166f476a2f3651b">从混乱到可控，我重构了 Cursor 的开发流程</a>: 从混乱到可控，文章讲述了作者如何通过重构开发流程，利用 AI 工具（如 GPT 和 Cursor）实现更高效、更可控的编程实践。作者分享了从需求分析到项目完成的详细步骤，并提出了一种 AI 协作方法论，通过任务清单和日志追踪来控制 AI 的执行，最终成功开发了一个 Chrome 插件（Prompt 管理工具）的 v0.1 版本。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkxMzMyMzgyMw==&mid=2247508235&idx=1&sn=f38e8af7e4a97f30d36bbf48644ff17b&chksm=c054c64d363b59a6f63697ae765e9cebf0592375336a05da8a36524485731c93b860d6ab0d78&mpshare=1&scene=1&srcid=05069dLjdVVzg152hJhRgpzS&sharer_shareinfo=0a8f11141bd98c60acfb5ea5efbffa6d&sharer_shareinfo_first=0a8f11141bd98c60acfb5ea5efbffa6d">大厂失业后，我被迫用 cursor 开发出了第一款海外产品谋生</a>: 大厂失业后，作者通过自主开发尝试出海创业，利用工具 Cursor 推出了一个在线倒影文字生成器网站 AmbigramGeneratorOnline.org。该网站能够快速生成具有艺术效果的倒影文字，支持多种字体和风格，适用于个性化设计、礼物定制等场景，且完全免费，旨在让用户以简单方式实现创意表达。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkxNTE3ODU0NA==&mid=2247539225&idx=1&sn=811dee1e2b17f5b1249d14f19b69f171&chksm=c0410dd7305597ba3c7f3dc6d1f7ee85808d38011bd376b42cace90a0fbc6c687a1be00c888f&mpshare=1&scene=1&srcid=0507se7oCab5JJoikWmzE8I5&sharer_shareinfo=634900176f4a7a250585116a09ea6b5f&sharer_shareinfo_first=634900176f4a7a250585116a09ea6b5f">最近爆火的 MCP 究竟有多大魅力？MCP 开发初体验｜得物技术</a>: MCP 全称 Model Context Protocol，是由 Anthropic 公司在 2024 年 11 月推出一个开放协议，主要用于标准化应用程序向大语言模型提供上下文的方式。可以将 MCP 想象成 AI 应用程序的 USB-C 接口。就像 USB-C 为设备连接各种外设和配件提供了标准化方式一样，MCP 为 AI 模型连接不同的数据源和工具提供了标准化方式。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI1MzYzMjE0MQ==&mid=2247514365&idx=1&sn=dd898cc5dfe8ab4fe7c48442a2d7fc35&chksm=e82cdfc64103948773b39bc1cdd18051bc935cdcbdad9990335b12f4401dbd67d0a5f6e162ad&mpshare=1&scene=1&srcid=0508JMd4ApDVP5Sk45FwTZuO&sharer_shareinfo=346fd11813fa570c425fefb3cdbb9b0e&sharer_shareinfo_first=346fd11813fa570c425fefb3cdbb9b0e">基于 MCP 的 AI Agent 应用开发实践</a>: 本文详细介绍了基于 MCP（Model Context Protocol）协议的 AI Agent 应用开发实践，通过 MCP 实现工具与 AI Agent 的解耦，带来了开发范式的转变，并展示了 MCP 在 AI Agent 开发中的具体应用场景和未来发展方向。</li><li><a href="https://yage.ai/cursor-ai-entry.html">[Agentic AI] 使用 Cursor 作为 AI 的通用入口</a>: 本文探讨了如何使用 Cursor 作为 AI 的通用入口，分析了其在问答、翻译、搜索和知识管理等任务中的应用优势与局限性，并通过实验展示了 Cursor 在 Agentic AI 场景下的潜力。</li><li><a href="https://baoyu.io/blog/codex-ai-programming-outsourcing">我对 Codex 的初步评测结果：AI 编程智能体不再是需要结对编程的实习生而是外包员工</a>: 如果说 Cursor 是需要我们结对编程才能干活的实习生，那么 Codex 就是外包员工，任务甩过去就不用管了，完成后验收一下，不合格就让它重做一遍，直到满意为止。最关键是你可以拥有无数个这样的只需要验收的外包员工。</li></ol><h2 id="鸡血"><a href="#鸡血" class="headerlink" title="鸡血"></a>鸡血</h2><p><img src="/images/Weekly#53/img_00_6f3a2211.jpg" alt="image"></p><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#100;&#x72;&#101;&#x61;&#x6d;&#116;&#97;&#108;&#101;&#x2e;&#x6a;&#103;&#64;&#103;&#109;&#97;&#x69;&#108;&#x2e;&#99;&#x6f;&#109;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-53&quot;&gt;&lt;a href=&quot;#Android-Weekly-53&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #53&quot;&gt;&lt;/a&gt;Android Weekly #53&lt;/h1&gt;&lt;blockquote</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #52</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-04-20-Android-Weekly-52/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-04-20-Android-Weekly-52/</id>
    <published>2025-04-19T16:00:00.000Z</published>
    <updated>2025-04-19T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-52"><a href="#Android-Weekly-52" class="headerlink" title="Android Weekly #52"></a>Android Weekly #52</h1><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><a href="https://mp.weixin.qq.com/s/8Bzmi3gSpP24rl-3UOy3Xw">移动 OS 设计之性能设计 7 - 扁鹊三兄弟中大哥型优化: 编程范式</a>: 本文探讨了如何通过编程范式来约束应用程序行为，以实现更优的性能表现。通过“扁鹊三兄弟”故事的启发，提出了预防性设计的重要性，并分析了编程范式在操作系统性能优化中的应用。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649081014&idx=1&sn=06f77647a60bd8db314c6abbf3e0a77b&chksm=865fff02ce00d856b0d6bc8609656995e40cf5ceb2d8caf489b6c51fe8be15b384560a60615f&mpshare=1&scene=1&srcid=0416h7iGM4nq2evyuvAU1qDg&sharer_shareinfo=ed7741dcd8a3737e9bac9ac9298e94a1&sharer_shareinfo_first=ed7741dcd8a3737e9bac9ac9298e94a1">基于预测模型的 GPU 绘制效率优化方法</a>: 该文章介绍了一种基于预测模型的 GPU 绘制效率优化方法，旨在通过提前预测所需的 GPU 算力来提高绘制任务的执行速度。文章详细描述了绘制流程、影响 GPU 负载的关键指标以及具体的优化方案，包括单 APP 和多 APP 的性能预测。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTQ4NDUyNg==&mid=2247489769&idx=1&sn=e85de4ff9b2176dfa04ed4bd187a7e95&chksm=c31a9bfe925ef5e8d6a7fd7000b9dd2e37759058c18daa74efa29274d18158addef99d6337cf&mpshare=1&scene=1&srcid=04172sThHg3JBqmPoOUJ8oG8&sharer_shareinfo=c6b8744def59f8ef3a10dcc8c43f9555&sharer_shareinfo_first=c6b8744def59f8ef3a10dcc8c43f9555">性能优化：官方文档抓取开机 trace 给 perfetto 分析–Recording traces on Android boot</a>: 这篇文章介绍了如何在 Android 设备开机时智能抓取 trace 以进行性能优化分析，尤其是在无法通过 adb 连接设备的情况下。文章详细讲解了配置文件的准备、推送、启用以及获取 trace 文件的步骤，并提供了相关链接供参考。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA4MTk5ODQxNQ==&mid=2449515179&idx=1&sn=d5401eda348282c9ce3ff6ac709001f5&chksm=89311e3a356c32b003eba60ac2f69a70b758e3611e47e4d4c5310888a0e953ec862c6a5b789d&mpshare=1&scene=1&srcid=0418ZnSPf5T08xkktxI8hUQq&sharer_shareinfo=789e79ff91d3f9e4fd3db04ea06eb61d&sharer_shareinfo_first=789e79ff91d3f9e4fd3db04ea06eb61d&poc_token=HHQNBWij2jDIS4ECCbBzmZ0XKHQHEWd9EFREy5QZ">记录一次利用 perf 在线定位 BUG 代码位置的处理过程</a>: 本文记录了一次使用 perf 工具在线定位 BUG 代码位置的处理过程。文章详细描述了问题的由来、核心代码、问题出现的情况、分析处理步骤以及最终的结论和建议。主要问题是程序在采样时 CPU 使用率过高，并最终通过 perf 工具定位到一个死循环问题，成功解决。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxMDM0NjExNA==&mid=2247496403&idx=1&sn=56ab23ea3189ecedb6d7044f540f279d&chksm=9a8357a598d1c9d16b2cfe689afdddc51eca1acf3f3ebcea7a8638b18560e042f16b67f9c9ca&mpshare=1&scene=1&srcid=04183pG98tr0dMRJSF4JB0Pp&sharer_shareinfo=ff48c4dd6a4177c6585a18241867595e&sharer_shareinfo_first=ff48c4dd6a4177c6585a18241867595e">自适应流媒体(ABR)技术与算法解析</a>: 自适应码率（ABR）流媒体技术能够根据用户的网络状况动态调整视频的质量和码率，以确保视频播放的流畅性和用户体验。本文介绍了 ABR 的背景、协议、目标、挑战以及常用的算法。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4MTQyNzkxNw==&mid=2247484104&idx=1&sn=8fcdf51ac437ac7cca6698b4e30fc179&chksm=ea9165d1cd2a35e651d73ea43c408e0d493442e771f9ca0595413b7e64d05d09cbbe88a2490c&mpshare=1&scene=1&srcid=0419MCrmWIYsWz3IEMja3rvO&sharer_shareinfo=55fdf99abf6335d0a06758facc30d483&sharer_shareinfo_first=55fdf99abf6335d0a06758facc30d483">[译]AI 算力民主化 第八部分：MLIR 编译器基础设施如何？</a>: 本文讨论了 MLIR 编译器基础设施的起源、发展及其在 AI 算力民主化中的作用。尽管技术上取得了成功，MLIR 未能打破 CUDA 的垄断，原因在于政治博弈、权力斗争和技术妥协。文章还探讨了硬件公司在构建 AI 软件方面面临的挑战。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTQ4NDUyNg==&mid=2247489782&idx=1&sn=9bfdaffab42ae3c58be9267b0eab08df&chksm=c31c0c188db1fb213acff0e69432523779b58f2197416bd575ff70db8b0fa8c68b2e70b03dfc&mpshare=1&scene=1&srcid=0420J0L1l4cvnyYmNwbrHPYG&sharer_shareinfo=f82a652a83dd0aa020b661cd74fb9071&sharer_shareinfo_first=f82a652a83dd0aa020b661cd74fb9071">直播回放：native 程序如何高效 Debug 获取堆栈 perfetto+simpleperf&#x2F;VSCode&#x2F;CallStack</a>: 直播回放介绍了如何高效 Debug 获取堆栈的几种方法，包括使用 perfetto、simpleperf、VSCode 和 CallStack。</li><li><a href="https://androidweekly.net/issues/issue-671/rss.xml">Android Weekly Issue #671</a>: Android Weekly is a free newsletter that helps you to stay cutting-edge with your Android Development</li><li><a href="https://juejin.cn/post/7494687719709392907">Linux | Misfit task migration</a>: 本文讨论了 Linux 系统中“Misfit 任务迁移”的概念，特别是在异构 CPU 环境下如何优化任务调度以提升性能。文章详细解释了相关的代码实现和设计思路，并探讨了 MTK 对“Misfit”任务的定制化处理。</li><li><a href="https://juejin.cn/post/7494635102173970467">Android V app 冷启动(9) Activity 生命周期调度</a>: 本文分析了 Android V 应用的冷启动过程，特别是 Activity 生命周期的调度机制。文章详细描述了 Activity 从创建到恢复的整个过程，包括如何通过不同的 Java 代码实现各个生命周期阶段的转换。</li><li><a href="https://juejin.cn/post/7494555637734703115">【NowInAndroid 架构拆解】（9）重新审视 NowInAndroid 架构设计</a>: 这篇文章对 NowInAndroid 项目的架构设计进行了详细的分析和总结，尤其关注了 ForYou 页面的实现。文章探讨了数据流和控制流在 UI 层和 Data 层之间的传递，描述了模块化和可测试性设计的重要性，并提供了具体的代码实现和设计思路。</li><li><a href="https://juejin.cn/post/7494549597604675634">MMKV 的源码分析：为什么他的性能更高，为什么他比 SP 好，为什么他的数据更加的精简，比传统 IO 更高效的文件操作方式</a>: 这篇文章分析了 MMKV 的源码，解释了为什么 MMKV 的性能比 SharedPreferences（SP）更高。文章详细讨论了 MMKV 的文件操作、数据格式和数据更新方式的优势，并通过性能测试对比了 MMKV 和 SP 的写入速度。</li><li><a href="https://juejin.cn/post/7494083990069444648">Android 监听开机自启，是否在前后台，锁屏界面，息屏后自动亮屏，一直保持亮屏</a>: 这篇文章详细介绍了如何在 Android 设备上开发广告应用，尤其是关于开机自启动、锁屏广告以及保持屏幕亮屏的技术实现。文章提供了代码示例，帮助开发者实现这些功能，并解释了相关权限的使用。</li><li><a href="https://juejin.cn/post/7493879367728168970">Android 应用内存分析与优化 - 理论篇</a>: 内存优化一直是一个很重要但却缺乏关注的点，内存作为程序运行最重要的资源之一，需要运行过程中做到合理的资源分配与回收，不合理的内存占用轻则使得用户应用程序运行卡顿、ANR、黑屏，重则导致用户应用程序发生 OOM（out of memory）崩溃。在你认真跟踪下来可能会发现内存出现问题的地方仅仅只是一个表现的地方，并非深层次的原因，因为内存问题相对比较复杂，它是一个逐渐挤压的过程，正好在你出现问题的代码那里爆了，所以针对应用的内存问题开发者必须多加关注。</li><li><a href="https://juejin.cn/post/7493912833991557131">IntelliJ IDEA 2025.1 发布 ，默认 K2 模式 | Android Studio 也将跟进</a>: IntelliJ IDEA 2025.1 版本发布，默认启用 K2 模式，同时 Android Studio 也将跟进。K2 模式带来了显著的性能提升，特别是在 Kotlin 代码分析、补全和导航速度上。尽管 K1 模式仍可使用，但未来将不再支持新语言特性和 IDE 优化。K2 编译器采用了模块化架构和并发容忍设计，消除了性能瓶颈，为未来的多线程分析奠定基础。K2 模式支持 Kotlin 2.0 及以上的新语言特性，开发者需注意插件的迁移适配。</li><li><a href="https://juejin.cn/post/7493750880194314250">Android 副屏录制方案</a>: 本文探讨了在 Android 系统中实现副屏录制的各种方案，分析了现有方案的优缺点，并提出了一种无需权限的终极方案。</li><li><a href="https://juejin.cn/post/7493750880194281482">Jetpack Compose 的性能优化建议</a>: 本文译自「Performance Optimization in Jetpack Compose」，原文链接 carrion.dev&#x2F;en&#x2F;posts&#x2F;pe…，由 Ignacio Carrión，发布于 2025 年 4 月 8 日。Jetpack Compose 是一个优秀的声明式 UI 框架，对开发者非常友好，可以高效率的撸各种 UI 页面和 UI 元素。但它仍然并不是很成熟，有些事情还做不了，而且渲染性能也略输于原生的 View 方式，毕竟它比原生的 View 多了一层组合树和渲染树。因此，在享受声明式 UI 带来的便捷的同时，就需要深入地了解其内部的工作机制，和学习一些高级技巧，以提升运行时的渲染性能。另外，需要 注意虽然这篇文章是针对 for Android 的 Jetpack Compose，但大部分也适用于 Compose Multiplatform。</li><li><a href="https://android-developers.googleblog.com/2025/04/the-fourth-beta-of-android-16.html">The Fourth Beta of Android 16</a>: Android 16 的第四个测试版已发布，这是计划中的最后一个测试版更新，开发者需要确保其应用程序或游戏已准备好适配 Android 16。该测试版为开发者提供了最终的 API 和应用行为，适用于更多设备类型，开发者应尽快进行兼容性测试和更新。文章强调了一些关键变化，如更严格的 JobScheduler 配额、广播和 ART 变化、Intent 安全性增强、16KB 页面大小要求、无障碍功能的更新等。此外，2025 年计划有两次 Android API 发布，Q2 的主要版本将引入行为变化，Q4 的次要版本则专注于功能更新和优化。</li><li><a href="https://android-developers.googleblog.com/2025/04/boost-app-performance-and-battery-life-android-vitals-metrics.html">Boost app performance and battery life: New Android Vitals Metrics are here</a>: Android Developers Blog 文章介绍了新的 Android Vitals 指标，旨在提升应用性能和电池寿命。文章强调了与顶级 OEM 厂商（如三星）的合作，以利用他们的实际洞察来减少资源消耗。新指标的重点是过度唤醒锁定行为，该行为会导致电池过度消耗。开发者可以通过优化应用的唤醒锁定行为来改善用户满意度。文章还提到这些指标目前处于测试阶段，开发者可以提供反馈以帮助完善指标定义。</li><li><a href="https://tech.meituan.com/2025/04/14/cvpr-iclr-2025.html">ICLR&amp;CVPR 2025 美团技术团队论文精选</a>: ICLR 全称为 International Conference on Learning Representations 国际学习表征会议，是致力于推进人工智能分支中表示学习专业（通常也被称为深度学习）的顶级会议。ICLR 与 ICML 和 NeurIPS 并列为三大机器学习和人工智能会议，在 2025 谷歌学术期刊与会议影响力榜单中排名第 10。</li></ol><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><ol><li><a href="https://geekplux.com/posts/two-years-in-usa?s=09">来美国的两年后</a>: 这篇文章记录了作者在美国生活两年的适应过程，分享了在衣食住行、语言、消费、心态、家庭等方面的体会和挑战。作者探讨了在新环境中如何找到适合自己的生活方式，并反思了身份焦虑和未来规划的问题。</li><li><a href="https://thedankoe.com/letters/how-to-remember-everything-you-read-with-ai/">How To Remember Everything You Read With AI</a>: 这篇文章探讨了如何利用人工智能（AI）来加深阅读理解，并强调阅读不仅仅是获取信息，而是通过接触新思想来改变思维方式和身份。文章指出，尽管 AI 可以提供信息，但真正的变化来自于行为和身份的改变，而不是简单的信息积累。</li><li><a href="https://joojen.com/archives/8220.html">生命不息，折腾不止</a>: 这一篇文章是 joojen Zhou 的个人日志，描述了他在生活和工作中的一些经历和思考。他提到了一些关于网站功能优化、阅读和运动数据统计的方法，以及学习英语的挑战。同时，他分享了如何利用技术工具来提高效率，并探讨了个人成长和自我驱动力的重要性。</li><li><a href="https://wangyurui.com/posts/da-mo-xing-de-1f084874">技术狂飙下的冷思考：大模型的“科林格里奇困境”</a>: 文章探讨了大模型技术发展中的“科林格里奇困境”，即技术在早期阶段的可控性与成熟阶段的失控性之间的矛盾。文章分析了大模型的现状、伦理治理问题、以及其面临的挑战，包括幻觉、偏见、可解释性和涌现现象等，并强调了技术与伦理治理之间的动态平衡的重要性。</li><li><a href="https://onojyun.com/2025/04/17/%e6%84%9f%e5%8f%97%e5%8d%b3%e7%9c%9f%e7%90%86%e7%9a%84%e4%ba%ba%e6%b3%a8%e5%ae%9a%e6%b2%a1%e6%9c%8b%e5%8f%8b%ef%bc%9f/">感受即真理的人注定没朋友？</a>: 这篇文章探讨了“拎得清”这个概念，涉及个人感受与群体感受之间的平衡，以及在社交场合中如何处理情绪和礼仪。通过一个具体的案例，文章分析了在群体中如何处理冲突和情绪，以及“我们”和“大家”这两种群体形式的区别。</li><li><a href="https://joojen.com/archives/8207.html">小微团队是未来趋势</a>: 小微团队是未来的发展趋势，尤其在科技和互联网行业。得益于人工智能和技术的进步，小规模团队甚至个人能够完成过去需要大团队才能完成的工作。这样的团队更易管理，创始人能专注于产品开发，而不必扩张公司规模。小型企业在管理成本和灵活性上具有优势，能够更好地应对市场变化和危机。</li><li><a href="https://www.edony.ink/private/weekly-collections-14/">Weekly Collections 14</a>: Weekly Collections 是专门针对小报童订阅者发布的内容，主要是以周为粒度跟订阅者分享我读到的有意思的文章，看到的令我有感触的社交发文，比较实用的资源等等。有价值的文章和思考值得反复看，为了方便查找，后面的编号就是本年度的第几周，例如 12 表示今年的第 12 周的 weekly collection。</li></ol><h2 id="AI"><a href="#AI" class="headerlink" title="AI"></a>AI</h2><ol><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg5MzYxNTI5Mg==&mid=2247498826&idx=1&sn=f7bfce143b1f4c0c775dbca8ee594d37&chksm=c1b4fa2dab6c064d5629d9c1a05e3b1e35be6ebec26ab9dc8822479e093fa8cfd32e8c39d4fb&mpshare=1&scene=1&srcid=0414CPZ1Z63tDeaEEqLNdqj8&sharer_shareinfo=ce66e5a28ef1011fcd641f7bc22ed46a&sharer_shareinfo_first=b3870cbb627e7c7e627852fd5256c59f">Vibe Coding 技术白皮书：技术平权时代的到来</a>: 本文探讨了“Vibe Coding”（氛围编程）的概念，这是一种利用 AI 工具辅助生成代码的新兴编程方式。文章分析了 Vibe Coding 的优势与挑战，并介绍了其在行业中的应用案例和对软件研发生态的影响，同时探讨了技术伦理与风险防控等问题。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MjM5ODYwMjI2MA==&mid=2649792738&idx=1&sn=337f992522daacb8eb68bd61043ac255&chksm=bfa798c1a510ffecde6ed7b5c1910e0f04895326ce7d0ad2394b4f1a0798d0f7f58866f04b06&mpshare=1&scene=1&srcid=0414rPydypZHUNy7CoJm9fTm&sharer_shareinfo=cf589e10bcc8dd89688fcd78a469cdbc&sharer_shareinfo_first=cf589e10bcc8dd89688fcd78a469cdbc">MCP 协议深度解读：技术创新正以前所未有的速度突破</a>: 本文深入解读了 MCP 协议，探讨其作为 AI 应用架构基础协议的技术原理和实际业务影响。MCP 协议通过标准化接口实现了大模型与工具的动态交互，提升了 AI 应用的效率和兼容性，并在多工具协作场景中得到了验证。</li><li><a href="https://mp.weixin.qq.com/s/HsFhXMLejsQWjTghUYdKFA">做 AI 产品两年，我得出的实操经验</a>: 这篇文章总结了作者在过去两年中开发 AI 产品的实操经验，重点探讨了 AI 产品开发的难点、提示词工程的重要性以及如何构建 AI 产品团队。作者分享了许多具体的例子和经验，以帮助其他 AI 开发者更好地理解和应对 AI 产品开发中的挑战。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkwMzY5NzU2Nw==&mid=2247486082&idx=1&sn=906022a11a5856d922c98f3f197bfa97&chksm=c11164492f0eda3fe69f9069c1df4a28e4dfb37bf05d789203f5265c40d262e58ebf301d8da0&mpshare=1&scene=1&srcid=04159Lthmuylz609fWVad6iD&sharer_shareinfo=08fc73cbac3f6dd05c548aefecf98395&sharer_shareinfo_first=08fc73cbac3f6dd05c548aefecf98395">3 个重点讲清楚 GPT4.1：OpenAI 的新一代基础模型</a>: OpenAI 最新发布的 GPT4.1 是其新一代基础模型，替换了之前的 4o。相比 4o，GPT4.1 在图像理解和代码能力方面表现更佳，并且价格降低了 20%。此外，GPT4.1 具备 1M 超长上下文能力，在用户实测中表现优异，尤其是在处理超长文本时。令人惊喜的是，GPT4.1 mini 的性能也非常不错，且价格便宜。虽然 GPT4.1 的代码能力超越 GPT4.5，但在推理能力上仍不及 o1 模型。</li><li><a href="https://baoyu.io/blog/efficiently-translate-google-prompt-engineering-pdf">我是如何高效翻译 65 页 Google 官方提示工程白皮书 PDF 文件的</a>: 这篇文章介绍了作者在翻译 65 页的 Google 官方提示工程白皮书 PDF 文件时的一些高效方法和经验。他主要使用了将 PDF 转成 Markdown 再翻译的方法，并分享了多种工具和技巧来优化翻译流程。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAwODIyOTQ4Mw==&mid=2649442806&idx=1&sn=d4175e57e1966d6d0241424ed129531e&chksm=82ff75ded2086520c0e552ecf5ee01539bf56598fbc0a46c3a2c641d83dd1d3cc28a1cca6081&mpshare=1&scene=1&srcid=0416CbTSRLUKYxW2rCCdCodi&sharer_shareinfo=bf5c9fb733fd9253cc4cb3e7d13aacf4&sharer_shareinfo_first=99aa800042625851fe8603840fe4a7eb">你在为 AI 工具付费？我只花了 100 美元就解锁了一大堆牛逼工具，详细教程在这里</a>: 著名产品 Newsletter 主理人、播客主播 Lenny ，靠自己的人脉关系，联合一大堆牛逼 AI 工具产品搞捆绑销售。</li><li><a href="https://zhuanlan.zhihu.com/p/27335614120">【有嘴就能做开发】Cursor——AI 编辑器 使用详解</a>: 这篇文章详细介绍了 Cursor，一个结合 AI 大模型的代码编辑器。Cursor 不仅支持代码补全、错误定位，还能通过自然语言生成代码，非常适合没有编程经验但有开发想法的人。文章还提到了 Cursor 的发展历程、融资情况以及其功能和使用技巧。</li><li><a href="https://6elrd9wpss.app.yourware.so/">Claude 编程最佳实践指南</a>: 掌握智能体编程的核心技巧，提升工作流效率</li></ol><h2 id="鸡血"><a href="#鸡血" class="headerlink" title="鸡血"></a>鸡血</h2><p><img src="/images/Weekly#52/img_00_d794fd2c.jpg" alt="image"></p><h2 id="招聘信息"><a href="#招聘信息" class="headerlink" title="招聘信息"></a>招聘信息</h2><h3 id="Android-开发工程师"><a href="#Android-开发工程师" class="headerlink" title="Android 开发工程师"></a>Android 开发工程师</h3><h3 id="职位描述："><a href="#职位描述：" class="headerlink" title="职位描述："></a>职位描述：</h3><ol><li>负责 TikTok 产品 Android 客户端稳定性优化、技术攻关，打造极致用户体验；</li><li>参与调查和解决各类影响用户体验的疑难问题，如崩溃、ANR、内存、Native Crash；</li><li>参与开发稳定性和 ANR 优化的各类平台工具，提升排查效率；</li><li>和 QA、PMO、架构等多个团队共建流程体系，为高质量推出 TikTok 新版本负责；</li><li>参与技术预研，并将相关优化方案应用到 TikTok 的产品开发中；</li><li>参与厂商技术合作，共同提升客户端在各个厂商设备上的用户体验，同时提高 TikTok 在业界的技术影响力。</li></ol><h3 id="Requirements"><a href="#Requirements" class="headerlink" title="Requirements"></a>Requirements</h3><ol><li>3 年以上 Android 客户端或 Framework 开发经验；</li><li>熟练掌握 Java&#x2F;Kotlin&#x2F;C&#x2F;C++&#x2F;Rust 开发语言之一；</li><li>扎实的编程能力，熟悉多线程和网络编程，了解操作系统原理；</li><li>优秀的分析和解决问题能力，对解决具有挑战的问题充满激情；</li><li>加分项：有 Framework 开发经验&#x2F;客户端安全领域&#x2F;客户端架构&#x2F;客户端基础技术&#x2F;跨端 SDK 开发经验优先。</li></ol><p>邮箱：<a href="mailto:&#122;&#x68;&#x61;&#110;&#x67;&#x6c;&#x69;&#110;&#49;&#64;&#x62;&#121;&#116;&#x65;&#x64;&#x61;&#110;&#99;&#101;&#x2e;&#99;&#x6f;&#109;">zhanglin1@bytedance.com</a></p><h3 id="iOS-优化工程师"><a href="#iOS-优化工程师" class="headerlink" title="iOS 优化工程师"></a>iOS 优化工程师</h3><p>抖音基建团队 iOS 体验方向招人啦，欢迎大家沟通，全程保密，无论是技术方向还是业务方向都欢迎沟通。base 地上海</p><h3 id="【职位描述】"><a href="#【职位描述】" class="headerlink" title="【职位描述】"></a>【职位描述】</h3><ol><li>负责抖音系 iOS 用户体验和性能优化，包括但不限于启动速度、流畅度、系统资源优化、安装包大小、端智能、播放体验等方向。</li><li>负责性能监控及归因体系建设，包括问题拆解、指标搭建、诊断工具、平台等多个维度全链路建设。</li><li>参与设计和开发各类体验优化框架和效率工具，提供高可用通用解决方案，助力业务降低性能瓶颈。</li><li>积极跟进业内外先进技术，验证可行性和推进落地，总结相关经验和通用方案，提升技术影响力。</li></ol><h3 id="【职位要求】"><a href="#【职位要求】" class="headerlink" title="【职位要求】"></a>【职位要求】</h3><ol><li>本科及以上学历，计算机、通信等相关专业，不限定工作年限。</li><li>计算机基础扎实，熟悉 OC&#x2F;Swift&#x2F;C++ 或者具有快速学习新编程语言的能力，编码习惯良好。</li><li>有性能优化、APM、架构等经验者优先，有业务背景但对技术有深度追求者优先。</li><li>具备优秀的解决问题和逻辑思维能力、有强烈的责任心和团队精神，善于沟通和合作。</li></ol><p>邮箱：<a href="mailto:&#99;&#104;&#x65;&#110;&#x6a;&#105;&#97;&#119;&#101;&#x69;&#46;&#x6b;&#x69;&#115;&#115;&#x6f;&#110;&#x40;&#x62;&#121;&#116;&#101;&#100;&#x61;&#x6e;&#x63;&#x65;&#46;&#99;&#x6f;&#109;">chenjiawei.kisson@bytedance.com</a></p><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#100;&#x72;&#101;&#x61;&#109;&#116;&#97;&#108;&#101;&#46;&#x6a;&#x67;&#x40;&#x67;&#x6d;&#x61;&#x69;&#x6c;&#46;&#99;&#x6f;&#109;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-52&quot;&gt;&lt;a href=&quot;#Android-Weekly-52&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #52&quot;&gt;&lt;/a&gt;Android Weekly #52&lt;/h1&gt;&lt;h2 id=&quot;技术文</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #51</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-04-13-Android-Weekly-51/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-04-13-Android-Weekly-51/</id>
    <published>2025-04-12T16:00:00.000Z</published>
    <updated>2025-04-12T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-51"><a href="#Android-Weekly-51" class="headerlink" title="Android Weekly #51"></a>Android Weekly #51</h1><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg5MzYxNTI5Mg==&mid=2247498811&idx=1&sn=982a167aad172dd92c487868345549d9&chksm=c1d29f20c7400f2d15cfd218c07fd8062c5376349b833d730b5b7a347793fceb48faae1a746c&mpshare=1&scene=1&srcid=0407dcF20G0FzUmRaNj3pafi&sharer_shareinfo=6820c740ca21547d6b6c1b65e9ca37a8&sharer_shareinfo_first=6820c740ca21547d6b6c1b65e9ca37a8">跨平台框架技术视角看 GapBuffer</a>: 本文从跨平台框架开发者的视角，探讨了 GapBuffer 这一数据结构在 UI 框架中的应用，特别是在 Compose 中的实现。文章详细介绍了 GapBuffer 如何通过插入和删除操作来优化 UI 树的变动，从而提高性能。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk3NTA0NjcyMw==&mid=2247483720&idx=1&sn=241b250e6cb3167b76397a80c27b71d1&chksm=c5a39e562e88d6d3bda9352a566f9a953ecb35adcd75451cbc91533f1283a848e7c874168eee&mpshare=1&scene=1&srcid=0407wcLxDNkRbhg32HLvkMMP&sharer_shareinfo=760482dc49b0117d0a43c1a6e65ec26b&sharer_shareinfo_first=760482dc49b0117d0a43c1a6e65ec26b">移动 OS 设计之性能设计 6 - 技术指标的两类优化目标类型</a>: 本文探讨了移动操作系统性能设计中的技术指标优化，主要分为两类：最优化问题和特定区间内的优化问题。最优化问题追求性能极限，而特定区间内的优化关注在某一性能区间内的稳定性。明确优化目标对于选择合适的技术手段至关重要，避免混用不同类型的策略。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247493471&idx=1&sn=609d87f9c1f621494078baca871a9279&chksm=cf814c5193442e18a8f8efaac630c4697fc8382663b2aafcbc4f02e725cfaf5cfe7390dd6a07&mpshare=1&scene=1&srcid=0409R3R6jQxjH33mDZLhgjZA&sharer_shareinfo=308185ad193e70d6b4b47cc3de01fa3c&sharer_shareinfo_first=308185ad193e70d6b4b47cc3de01fa3c">JetBrains Terminal 又发布新架构，Android Studio 将再次迎来新终端</a>: JetBrains 在不到一年内对其终端进行了重大重构，以解决先前版本中的兼容性问题。新的终端架构引入了增强功能，如 AI 驱动的命令生成，但也因兼容性问题收到负面反馈。2025.1 版本将重点放在兼容性和一致性上，确保终端的基本功能不受影响，同时为未来的高级功能铺平道路。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649081009&idx=1&sn=645dc4c66a0e2452f95cfaf8bc115f44&chksm=86cb8ab5b93e43d7fc69aebf58bb74b5d892ac92580940d85e38bce6dad36b61e1f6fa2cd998&mpshare=1&scene=1&srcid=0409GSnrW6BIa99prr0mBBGE&sharer_shareinfo=25f3023417e6663b8bafb4544e08f472&sharer_shareinfo_first=25f3023417e6663b8bafb4544e08f472">手机系统的 D-Vsync 渲染显示管线优化</a>: 本文介绍了一种智能手机显示渲染优化方案，称为解耦垂直同步（D-VSync）。D-VSync 通过解耦渲染和显示的设计，解决了传统 VSync 的局限性，尤其是在长帧和短帧负载波动时导致的卡顿问题。此方案已在开源鸿蒙和安卓系统中实现，显著减少了掉帧和渲染延迟。</li><li><a href="https://juejin.cn/post/7491154248562966578?share_token=78047f28-9b42-4ae0-93ff-812eb1d72b4e">应用预测框架-基于 Android S</a>: 本文介绍了基于 Android S 的应用预测框架，详细分析了其核心机制、实际应用场景及用户体验优化效果，并探讨了如何使用 TensorFlow 进行模型训练和部署以提升预测准确性。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg2MjE0NDE5OA==&mid=2247489173&idx=1&sn=f8b71098a3872012a48d32cdb967bc66&chksm=cf35d24e36b2fc6a6ee9c61c7f666dd5df7e9a2866fc808cf95b309592e7b58e63d756cfebbb&mpshare=1&scene=1&srcid=0410ySTvz53QrpVQGetixOXu&sharer_shareinfo=f86caed4deca7cd4021041a0899b81c6&sharer_shareinfo_first=f86caed4deca7cd4021041a0899b81c6">LWN：减少 TLB 压力的措施！</a>: 本文探讨了如何减少 CPU 的 TLB（Translation Lookaside Buffer）压力。TLB 缓存虚拟地址转换结果，显著加速内存访问，但 TLB 失效会导致高昂代价，因此优化 TLB 使用是重要课题。文章讨论了在 Linux 存储、文件系统、内存管理和 BPF 峰会上 Rik van Riel 关于内存管理的主题会议，其中包括减少 TLB 压力的方法，如使用透明大页（THP）和多尺寸透明大页（mTHP），以及如何更好地管理这些大页以提高 TLB 利用率。此外，文章还探讨了用户空间如何帮助减少 TLB 失效，以及如何优化内核机制以更好地支持 mTHP。</li><li><a href="https://blog.codingnow.com/2025/04/log_e.html?s=09">对数和自然对数的底</a>: 这篇文章探讨了对数的历史背景及其在数学中的应用，尤其是纳皮尔对数表的制作过程及其在天文学计算中的重要性。文章详细描述了纳皮尔如何在没有幂概念的情况下，通过几何意义和三角公式来发展对数概念。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxMDM0NjExNA==&mid=2247495976&idx=1&sn=e3504a3510d1c0e7411585230a090ccc&chksm=9a755b71c388f0a5e00dec87a259a41e5574c36070db588cec8c5bed79426cca0bd5c9312c7f&mpshare=1&scene=1&srcid=0411SZ8rLqpfk9h0cDIo9ahQ&sharer_shareinfo=59f17ccfb0a13409e1823120e6bac2c9&sharer_shareinfo_first=59f17ccfb0a13409e1823120e6bac2c9">DRM(Digital Rights Management)生态以及架构介绍</a>: DRM（数字版权管理）技术通过加密、授权管理和安全传输等手段，保护数字内容在分发、存储和播放过程中的安全性。随着数字内容从物理媒介转向在线流媒体平台，DRM 成为数字内容分发的基石。Google 的 Widevine 因其开放的生态系统和灵活的安全等级成为流媒体领域的主流方案。</li><li><a href="https://juejin.cn/post/7491949045130608694">Linux | 关于 CPU 调频的一些 QA</a>: 本文对 Android 开发过程中关于 CPU 调频的一些常见问题进行了详细的解答，并介绍了与 CPU 调频相关的技术细节和实现方法。</li><li><a href="https://juejin.cn/post/7491234023738966053">理解 VSync-1-软件 VSync 及节拍器</a>: 本文是 VSync 系列文章的第一篇，主要介绍了软件 VSync 的概念、模型、分类及其产生过程，并详细探讨了 VsyncDispatch 及其子类 VSyncDispatchTimerQueue 的创建与实现。</li><li><a href="https://juejin.cn/post/7491853446531186714">理解 VSync-2-app,appsf sf 注册回调</a>: 本文详细介绍了在 Android 系统中，应用程序（app）和 SurfaceFlinger（sf）如何向 VsyncDispatch 注册回调的过程。通过分析代码流程，揭示了涉及的类和回调函数的创建与调用关系。</li><li><a href="https://juejin.cn/post/7491899094077653030">理解 VSync-3-应用添加链接</a>: 本文详细介绍了在 Android 系统中，应用如何与 VSync 信号进行交互的过程，特别是在 Java 层和 Native 层中如何建立连接并处理 VSync 信号。</li><li><a href="https://juejin.cn/post/7491899914198515749">理解 VSync-4-应用申请与接收 VSync(上)</a>: 本文详细分析了应用如何请求和接收 VSync 信号，涵盖从 Java 层到 Native 层的调用链，并解释了 VSyncRequest 的状态转换及其在应用中的实现逻辑。</li><li><a href="https://zhuanlan.zhihu.com/p/30832264155">技术简报 2025 第四期</a>: 这篇文章探讨了技术学习的重点，强调应该专注于概念而非技术本身。文章还详细介绍了多种文件格式的设计和理解，包括 ELF、DEX 等，并分享了一些技术见解和思考。</li><li><a href="https://bbs.kanxue.com/thread-286441.htm">用魔法打败魔法：互联网大厂虚拟机分析还原</a>: 本文探讨了互联网大厂的虚拟机分析与还原，详细介绍了如何通过逆向工程技术来分析和还原虚拟机保护的应用程序。文章分享了作者的个人分析方法和思考过程，并提供了相关代码示例和工具使用建议。</li><li><a href="https://juejin.cn/post/7491670661543510016">Dart 单线程异步模型：从原理到工程实践的系统化解析</a>: Dart 的单线程异步模型通过非阻塞 I&#x2F;O 和事件循环实现“单线程不阻塞”，有效解决传统单线程的同步阻塞问题。文章详细解析了 Dart 的事件驱动模型与多线程模型的区别，介绍了事件循环的双队列架构及其在异步任务调度中的作用，并提供了工程实践中的常见误区及修正方案。通过系统化理解 Dart 的异步模型，开发者可以在 I&#x2F;O 密集型场景中发挥其高效调度优势，并通过任务分片技术突破 CPU 密集型任务的瓶颈。</li><li><a href="https://blog.csdn.net/learnframework/article/details/147136511">Android.bp 中添加条件判断编译方式</a>: 这篇文章讨论了如何在 Android 的构建系统中使用条件判断来适应不同设备和版本的需求，尤其是通过 Android.mk 和 Android.bp 文件进行差异化编译。文章介绍了如何利用条件判断来选择适合的 API 或库，以便在一个公共代码分支中实现对多个产品设备的兼容，减少维护成本。</li><li><a href="https://juejin.cn/post/7491504327669268490">Android 提升开发测试效率，程序员应该多干了些什么？</a>: 本文讨论了如何提高 Android 开发测试效率，分享了一些实际操作建议和技巧，以帮助程序员提高工作效率，避免低效的沟通和重复工作。</li><li><a href="https://juejin.cn/post/7491241868861554726">电影电视剧网红广告屏自动轮播介绍视频特效制作，Compose 轻松实现</a>: 这篇文章介绍了如何使用 Compose 框架制作自动横向滚动的广告视频动画。文章详细描述了数据模型的设计、动画的实现逻辑以及具体的代码实现步骤。通过使用 Compose 的不同组件和工具，用户可以轻松创建带有音乐背景的广告视频特效。</li><li><a href="https://android-developers.googleblog.com/2025/04/google-play-empowering-developers-to-build-user-trust-through-privacy.html">Prioritize media privacy with Android Photo Picker and build user trust</a>: 本文讨论了如何通过 Android Photo Picker 提升用户隐私并建立用户信任。Google Play 致力于在处理敏感权限和用户数据时提供更清晰的选择，以便用户可以自信地授予权限而不牺牲应用功能或隐私。</li><li><a href="https://android-developers.googleblog.com/2025/04/gemini-in-android-studio-for-business.html">Gemini in Android Studio for businesses: Develop with confidence, powered by AI</a>: Android 开发者博客宣布推出适用于企业的 Android Studio 中的 Gemini，这是一款专为满足小型和大型组织的隐私、安全和管理需求而设计的产品。通过订阅 Gemini Code Assist 标准版或企业版，开发者和管理员可以解锁这些功能和优势。此外，企业可以通过 Google Cloud 控制台直接为组织中的开发者分配许可证。Gemini 提供了多种安全特性和行业认证，确保客户代码和数据的安全。企业还可以通过连接到 GitHub、GitLab 或 BitBucket 存储库，实现代码定制化。Gemini 在 Android Studio 中为整个软件开发生命周期提供智能协助，提高生产力。</li><li><a href="https://juejin.cn/post/7490854415047999526">Flutter 2025 年产品路线图发布</a>: 每一年 Google Flutter 团队都会发布一份产品路线图，包括 Flutter 框架和 Dart 编程语言，让开发者能够了解官方团队的优先事项，并据此做出自己的计划安排。产品路线图也会随着客户反馈和新兴市场机会的变化而不断发展。开发者们可以通过每季度的调查问卷以及 GitHub 上 issue 的反馈来推进这些工作的优先级。</li><li><a href="https://juejin.cn/post/7490850417976262668">速学 Android 16 新功能:带有进度的通知类型</a>: 本文介绍了 Android 16 的新功能，特别是 Notification.ProgressStyle 通知类型的应用及其代码实现。这种通知类型允许用户更好地追踪任务进度，并通过自定义设置显示在通知栏中。文中还提供了具体的代码示例，展示了如何使用此功能在导航、外卖等场景中显示实时位置和进度。</li><li><a href="https://juejin.cn/post/7491672283413479460">Android 应用的 CPU 调度策略优化</a>: 本文探讨了在 Android 应用中优化 CPU 调度策略的方法，包括设置线程优先级、配置实时调度策略、利用 Android 平台特性以及通过 cpuset 控制 CPU 资源分配等。文章详细介绍了如何通过调整线程的优先级和绑定 CPU 核心来提升应用性能。</li></ol><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><ol><li><a href="https://mp.weixin.qq.com/s/7Tv_9iCA1LFVg5EuPjJDoQ">为什么我看空英伟达股票 [译]</a>: 本文深入分析了英伟达股票的潜在风险，尽管其在 AI 和深度学习领域占据主导地位，但面临来自新兴技术和竞争对手的多重挑战。作者认为，英伟达的高估值可能无法长期维持，因为市场上出现了新的硬件架构、软件框架，以及更高效的 AI 训练和推理方法，可能削弱英伟达的市场优势。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MjM5ODQ2MDIyMA==&mid=2650731339&idx=1&sn=c996fc41c7ad685a78663ef05506d03e&chksm=bfc4dae1a01b59af43082ce3b1924d75ce18099269b878d4099a404bef10f26e5f02537b4cdb&mpshare=1&scene=1&srcid=0407uyPlzVBW5ty79Vt4r2vo&sharer_shareinfo=eb1a73855ba491573d12d04d42735088&sharer_shareinfo_first=eb1a73855ba491573d12d04d42735088">YC 创始人 Paul Graham 最好的一篇文章</a>: YC 创始人 Paul Graham 的最新博客文章探讨了人生的意义，特别是关于创造的主题。文章认为，单纯的享乐无法带来持久的快乐，真正有价值的是创造新事物。创造不仅能体现人性的智慧，还能带来自我实现的幸福感。无论是创业、写作还是其他形式的创造，关键在于对他人有益，并能在过程中获得成就感。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzIyMDg5MzEyMA==&mid=2247489244&idx=1&sn=91ee2c42f97a599a4d395e07ccf0d54b&chksm=969561e4869cf5486f8ab08e544f167de36bfc7c72e49db4cd45429e4e0aea3c1e6d5f2a2077&mpshare=1&scene=1&srcid=0408tVopqDlsIcw5buXEqHVk&sharer_shareinfo=bfcc9de0d7bd93f3974f2def9a2ef606&sharer_shareinfo_first=bfcc9de0d7bd93f3974f2def9a2ef606">聊一聊 2025 年 Android 人的求职之路</a>: 阿豪在 2025 年求职 Android 岗位时，发现市场环境变得更加严峻。大部分岗位集中在一线城市，二线城市的机会大幅减少。求职者普遍面临降薪和转岗的风险，外包岗位增多。阿豪建议通过内推增加面试成功率，并强调熟悉简历上的技能和项目。最终，阿豪选择了传音控股的 Android 系统开发岗位，因为其薪资竞争力、市场潜力和良好的工作氛围。</li><li><a href="https://www.benkuhn.net/outliers/">Searching for outliers</a>: 这篇文章探讨了博客文章和其他生活领域中重尾分布的现象。作者分享了个人写作经历，强调在重尾分布中，少数成功的例子往往能够产生重大影响，而大多数尝试可能平淡无奇。文章通过多个例子说明了如何识别和利用重尾分布，以便更有效地寻找和评估潜在的“异类”机会。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI2MDk1NjE5Mw==&mid=2247486067&idx=1&sn=68c3140c892910daf8eb8ddd2eff132e&chksm=eb4dffa4b97fe9438bf83944aef5a269351610f1bdbded28d30909e3840e426ca904ad87fe42&mpshare=1&scene=1&srcid=0410vWdVvQRqDlBadLIvPNN5&sharer_shareinfo=75531bc36c46d3b5b9e1b0044823361f&sharer_shareinfo_first=75531bc36c46d3b5b9e1b0044823361f">独立开发周记 112：3 月数据总结，收入多样</a>: 独立开发者道哥在其周记中总结了 3 月的数据表现，强调了极简日记应用的下载量和收入的显著增长，并分享了多样化收入的探索经历。此外，他也提到了个人生活中的一些小趣事。</li><li><a href="https://endler.dev/2025/best-programmers/">The Best Programmers I Know | Matthias Endler</a>: 这篇文章总结了成为优秀程序员的关键特质，包括：深入阅读参考文档，全面了解工具，认真解读错误信息，善于分解问题，勇于动手实践，乐于助人和分享，保持持续学习的热情，不拘泥于地位，建立良好声誉，保持耐心，不怕承认不知道，避免猜测，并编写简单而易维护的代码。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4NjAxNjY4Nw==&mid=2650240385&idx=1&sn=14897c7e4768805e49ada35c4c22ee61&chksm=f28860ffcfd55889988f6c9d3460cfbe16ca3a02a20beac9aece585d8bd94f187621530fa5f2&mpshare=1&scene=1&srcid=041156m2tW5eusjmCsmmnUxI&sharer_shareinfo=41f4fe105269bc5dd8fbab56276ca13a&sharer_shareinfo_first=41f4fe105269bc5dd8fbab56276ca13a">科技爱好者周刊#344：制造业正在“零工化”</a>: 这里记录每周值得分享的科技内容，周五发布。</li><li><a href="https://nerdy.dev/ex-googler">G̶o̶o̶g̶l̶e̶r̶… ex-Googler.</a>: 这篇文章讲述了一位曾在谷歌工作的员工被公司裁员后的心情。他感到震惊、愤怒和失望，并分享了他在 Chrome 团队的工作经历以及裁员对他的影响。</li></ol><h2 id="AI"><a href="#AI" class="headerlink" title="AI"></a>AI</h2><ol><li><a href="https://zhuanlan.zhihu.com/p/1890823074049393639?utm_psn=1893039972606514758">微软推出 Playwright 官方 mcp server，效果试用！</a>: 微软推出了 Playwright-mcp 服务器，这是一个基于 MCP 协议的工具，旨在增强 AI 应用的实用性。MCP 协议由 Anthropic 公司于 2024 年推出，旨在标准化大语言模型与外部数据源和工具的交互接口。Playwright-mcp 可以与 Vscode copilot 无缝结合使用，帮助用户无代码完成浏览器操作和验证。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkwMzY5NzU2Nw==&mid=2247485992&idx=1&sn=914ba456441e9f4aa9e0c91b7858ed91&chksm=c194b3cb3c9bf246aaf1fe3496dd875af6cecfc69aac570e037e7104b34b19435b4d96908c01&mpshare=1&scene=1&srcid=0410puyzU835T521O5yUhmE6&sharer_shareinfo=ef12f65716c3400823400c5f7548e41a&sharer_shareinfo_first=ef12f65716c3400823400c5f7548e41a">AI 编程：从 Copilot 到 Autopilot</a>: 这篇文章探讨了 AI 编程工具的发展及其对专业程序员和非专业用户的影响。文章讨论了 AI 编程工具的演变，从简单的代码补全插件到更智能的独立 IDE 产品，以及它们如何降低编程门槛，使更多人能够实现软件开发。AI 编程被认为是目前唯一盈利的 AI 赛道，因其显著提高了编程效率，并且能够满足长尾需求。文章还讨论了 AI 编程工具的市场竞争格局及其未来发展趋势。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk2NDY3MzYxOQ==&mid=2247483731&idx=1&sn=2b6aeef8c69442c4b02bdcb4c3a7b97a&chksm=c5722b1ea14c3c54f968984ddcaabd7374837e131957661b350089e7df0a900b0cba250c74db&mpshare=1&scene=1&srcid=0411RTOiaqmCIM7adZaqX2YT&sharer_shareinfo=3e04f4f6b69c78ca08970701a299f176&sharer_shareinfo_first=b143aa6c6619acc645e5523da72f5a47">Koin 最新中文文档来了！官方同步，AI 驱动</a>: Koin 的最新中文文档由 Open AIDoc 项目发布，该项目由社区伙伴 El 发起，旨在提供官方同步的中文技术文档，以解决开发者的阅读痛点。通过 AI 自动化翻译，项目提供多种语言版本，并实时更新以保持与官方一致。</li><li><a href="https://www.kaggle.com/whitepaper-prompt-engineering?s=09">Prompt Engineering</a>: 这篇文章探讨了提示工程（Prompt Engineering），即为大型语言模型设计输入提示的艺术和科学。文章指出，撰写有效提示并不需要成为数据科学家或机器学习工程师，但要使提示最有效可能会很复杂。影响提示效果的因素包括所用模型、模型的训练数据、模型配置、用词选择、风格和语气、结构及上下文。提示工程是一个迭代过程，不当的提示可能导致模糊、不准确的响应。文章还介绍了在 Vertex AI 或通过 API 直接向 Gemini 模型提示的技巧和最佳实践，并讨论了提示设计中可能面临的挑战。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NDIwMTExNw==&mid=2247596384&idx=1&sn=317a34c8fdbf2015e10f1557533b42de&subscene=0">Gemini API 最新进展：Gemini 2.5 Flash &amp; Pro、Live API、Veo 2</a>: 本文介绍了谷歌在 Cloud Next 大会上发布的最新 Gemini API 更新，包括 Gemini 2.5 Flash &amp; Pro、Live API 和 Veo 2。这些更新旨在增强开发者的能力，推动人工智能应用的发展。Gemini 2.5 Pro 是迄今为止性能最佳的 AI 模型，具有强大的思考能力。Veo 2 现已面向生产环境开放，能够生成高质量的视频内容。Live API 提供了动态、实时的互动体验，支持多语言和语音活动检测等功能。</li><li><a href="https://juejin.cn/post/7490967893779431439">Github Copilot 近期重要更新一览 (2025.4.9)</a>: 本文介绍了 GitHub Copilot 近期的重要更新，包括推出 Pro+版本、对高级模型请求次数的限制以及在 VSCode 和 JetBrains IDE 中新增的功能。这些更新旨在提高用户体验和功能多样性。</li></ol><h2 id="鸡血"><a href="#鸡血" class="headerlink" title="鸡血"></a>鸡血</h2><p>Hacker News 上《我认识的最优秀的程序员》的文章，写得很实在，挺有共鸣。作者总结了他见过的那些顶尖程序员的共同点：</p><ol><li>死磕官方文档 (Read the Reference)： 这点我觉得太对了！遇到问题，别老是第一个就跑去 Stack Overflow 或者问 AI，也别瞎猜。大佬们会直接去看官方文档、去看源码。那才是第一手资料，而且很多时候写得比想象中清楚。</li><li>深入理解工具 (Know Your Tools Really Well)： 光会用不够，得真正懂你用的技术。不光是知道怎么操作，还要了解它的历史、原理、局限性、生态。这样才能用得好，配置起来也心里有数。</li><li>认真读报错信息 (Read The Error Message)： 别扫一眼就过！大佬们会仔细看报错，琢磨里面每个词的意思。作者说，很多时候答案就在报错信息里，看懂了就能解决大部分问题。</li><li>拆解问题 (Break Down Problems)： 遇到难题卡壳了怎么办？高手会把大问题拆成一堆小问题，直到每个小问题都好解决。这基本就是程序员的核心工作：拆解。</li><li>不怕“脏活累活” (Don’t Be Afraid To Get Your Hands Dirty)： 顶尖的开发者不怕钻研陌生的代码库，不会说“这个我不熟”就不管了。他们就是上手去搞，边搞边学，不知不觉就成了这块的专家。</li><li>持续学习，不瞎跟风 (Never Stop Learning)： 技术更新快，大佬们会一直学习新东西，但不是盲目追潮流。他们会认真评估新技术的优劣，如果不用，也能清楚说出为啥，以及替代方案是啥。很多大佬年纪不小了，但思维还是很活跃。</li><li>不耻下问，也不怕说“我不知道” (Don’t Be Afraid to Say “I Don’t Know”): 承认不知道不是丢人的事，反而是学习的开始。大佬们不怕暴露自己的知识边界，而且能坦诚地跟人交流，哪怕对方是刚入行的新人。</li><li>拒绝猜测 (Don’t Guess)： 遇到不确定的地方，别凭感觉猜。去查证、去问、去调试。猜对了可能让你养成坏习惯，猜错了直接导致 bug。</li></ol><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#100;&#x72;&#x65;&#97;&#109;&#x74;&#97;&#x6c;&#x65;&#x2e;&#x6a;&#103;&#x40;&#103;&#109;&#97;&#105;&#x6c;&#x2e;&#99;&#x6f;&#109;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-51&quot;&gt;&lt;a href=&quot;#Android-Weekly-51&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #51&quot;&gt;&lt;/a&gt;Android Weekly #51&lt;/h1&gt;&lt;h2 id=&quot;技术文</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #50</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-04-06-Android-Weekly-50/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-04-06-Android-Weekly-50/</id>
    <published>2025-04-05T16:00:00.000Z</published>
    <updated>2025-04-05T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-50"><a href="#Android-Weekly-50" class="headerlink" title="Android Weekly #50"></a>Android Weekly #50</h1><blockquote><p><strong>Android Weekly</strong> 是一份专注于 Android 技术生态的周刊，每周一更新。本周刊深入挖掘 Android 系统架构、性能优化、跨平台开发、AI 等领域的高质量技术内容，为开发者提供持续的知识更新与技术洞察。  </p></blockquote><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><a href="https://www.wolai.com/tTBehPGCLqHvopuUUujX6M">Perfetto Pin 区域高度调节工具 — 让性能分析更高效</a>: 分析 trace 时，我们经常要把感兴趣的线程给 pin 住，然后在 Perfetto Viewer 默认的 Pinned 区域（固定视图区）里集中查看这些 pin 住的线程。然而有个问题，Pin 区域的高度被谷歌官方给限制死了，限制为浏览器高度的 40%，pin 的线程如果不多还好说，一旦多了我们就会发现，Pin 区域也需要滑动才能查看全部，这就很烦了，明明我们屏幕下方还有好多空间，你为啥不能再扩大点呢。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk3NTA0NjcyMw==&mid=2247483715&idx=1&sn=996b102201c50361f8b12e7b387e1ee3&chksm=c56891340a6e53b9329f1b6bf60e0818c6cd64ce97168482e048dfe725806f65ea3144a72a91&mpshare=1&scene=1&srcid=0331W5WUyt92vE1Ev6OzZZRL&sharer_shareinfo=2608b55a8dc267bf45b79375344b1b5b&sharer_shareinfo_first=97b94639dbedd1cb86d2c1e2ef8960c9">移动 OS 设计之性能设计 5 - OS 质量提升- 技术指标优化</a>: 本文探讨了移动操作系统性能优化的设计方法，包括如何持续提升操作系统质量、定义技术指标、观测指标以及设定优化目标等内容，同时分析了操作系统与第三方应用之间的资源分配问题及优化挑战。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247493416&idx=1&sn=6f231ee56e9f39e37d54714d5ad6aaee&chksm=cf386cad8b4e6ab81c6fc2bd633bebef2bb62318d9ba9012c7866608b26c0f2496cfb6ad5aa7&mpshare=1&scene=1&srcid=0331uokPtuHk1iDSNNfqdX0E&sharer_shareinfo=d977c599cd9ec7f58cf73c7e4409d361&sharer_shareinfo_first=d977c599cd9ec7f58cf73c7e4409d361">Android 确定废弃「屏幕方向锁定」等 API ，如何让 App 适配大屏和 PC&#x2F;XR 等场景</a>: Android 计划逐步废弃限制屏幕方向和大小调整的相关 API，开发者需适配大屏、折叠屏、PC 和 XR 等场景。文章详细介绍了相关变更、适配方法及开发工具。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxMTI4MTkwNQ==&mid=2650854719&idx=1&sn=dac619d64167e5aee67da0b82705b505&chksm=816c14c15bfd511c6c7bae683d964f85e9741bbedded19ff5ae8805c7506db82b38923040b1d&mpshare=1&scene=1&srcid=033147HsMqdbgyK72kXV8EUn&sharer_shareinfo=72f42d9ab8f66c5edf6304fa1bf3a465&sharer_shareinfo_first=72f42d9ab8f66c5edf6304fa1bf3a465">Android× 鸿蒙 ×AI 技术周刊 - 第 5 期</a>: Android× 鸿蒙 ×AI 技术周刊 - 第 5 期</li><li><a href="https://zhuanlan.zhihu.com/p/405965784">内核抢占，让世界变得更美好 | Linux 内核</a>: 本文讨论了 Linux 内核抢占的基础知识，介绍了抢占的概念、抢占的类型、内核抢占的时机以及相关配置选项，并分析了抢占发生的条件和执行过程。此外，还探讨了内核抢占的优缺点及其应用场景。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzU4MTIzMjM3MA==&mid=2247496010&idx=1&sn=9ad933a3459046eb376b2dae21254359&chksm=fc7c5da17c689f808db92ec788035614a0cd4d783eb8f3e6253a014861ddb41ba698a2ce071f&mpshare=1&scene=1&srcid=0331yLjciTrDKAjcyocP3HVW&sharer_shareinfo=978390bb422c539d66de88d5f7e678e5&sharer_shareinfo_first=978390bb422c539d66de88d5f7e678e5&poc_token=HOaT8mejqEqPOfRYTiJABhpXTxp9-bF3u8liY8lW">MTK Camera 照片切视频 Systrace 拆解分析</a>: MTK Camera 照片切视频 Systrace 拆解分析文章通过详细的拆解分析，介绍了 MTK Camera 从照片模式切换到视频模式的 Systrace 过程，包括关键流程、阶段拆解及相关技术细节。</li><li><a href="https://imtx.me/blog/the-story-behind-the-development-of-poptranslate/">开发 PopTranslate 背后的故事</a>: 整整一年没有更新 Blog 了，因为最近发布了一款新产品 PopTranslate，想做一点承前启后的事情。所以在这篇文章里，我想正式介绍一下这款产品，以及产品背后的开发故事，也就是从做完上个产品后的疲倦状态中走出来，然后找到新方向的故事。</li><li><a href="https://juejin.cn/post/7485413208939282451">Android 耗时统计</a>: 对于 Android 的耗时统计，在 Android 7.0, 增加了一个 Api 可以方便的统计一个 Window 的 View 树的绘制耗时。低于 API 26 可以使用 Choreographer 监听帧时间。</li><li><a href="https://mp.weixin.qq.com/s/1zqT8J7OOWN_O-Z6WjE8YQ">Pixel 8 pro 刷 AOSP 14 源码 详细教程 &amp; 救砖处理</a>: Pixel 8 Pro 刷入 AOSP 14 源码详细教程，涵盖从环境配置、源码下载、驱动安装、编译到刷机的完整步骤，重点强调了避免变砖的注意事项，并提供了解决变砖的方法。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649080991&idx=1&sn=aa02146a59fc99f5b493b0cc707b2601&chksm=8610c36a38ff73febbda64b30d24be92213c5c5cef2f6318b6a615da98a89482e293c3bae42a&mpshare=1&scene=1&srcid=0402mU4JfI3jTHWMi8SHxY0z&sharer_shareinfo=a8ec2b77bd44b194f54d24f1a5984934&sharer_shareinfo_first=a8ec2b77bd44b194f54d24f1a5984934">以鸿蒙为例，详解统一渲染技术</a>: 本文以鸿蒙为例，分析统一渲染技术的实现与优化。华为通过引入 RenderService 进程解决分离渲染架构动效卡顿问题，采用统一渲染树管理降低 GPU 负载，同时通过异步流水并行和渲染树拆分技术提升性能。基于 Skia 引擎的 Vulkan 改造，实现帧内高并行 GPU 绘制，并通过 GlobalContext 优化多线程支持，最终显著提升渲染效率。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649080997&idx=1&sn=7c231d256416f853bca857d07b484917&chksm=86a8de6648a8cdd107f535d83fe99196a2213d7e08acff6f30d51c38f31dd458f1ea77331300&mpshare=1&scene=1&srcid=0403lFigxtPyoLRtQqobxNaI&sharer_shareinfo=a63d0b4f08df6642344eff5aae3deed2&sharer_shareinfo_first=a63d0b4f08df6642344eff5aae3deed2">Android 渲染管线 App 端的性能优化</a>: 文章探讨了 Android 渲染管线的性能优化问题，提出通过将 UI 线程拆分为业务主线程、UI Record 线程，以及 Render 线程的三线程方案来分担负载，从而解决 5%重任务导致的渲染延迟问题，同时强调主线程 UI 布局复杂度可预知，但其他消息事件处理可能引发不可控的卡顿，如四大组件的 ANR 问题。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg4NDQ0OTI4Ng==&mid=2247491597&idx=1&sn=d85be764be5d2319c5f9c0e30779ca96&chksm=cecb2e9182c7d94c5c008f532f89e30c26e3f8674ff37556fd30a3ef4ad28ca54baf969209c7&mpshare=1&scene=1&srcid=0406x9tQhzxZUZKHigRv8lwh&sharer_shareinfo=428b2baa3d724f8cf5a9d84aa6086fd3&sharer_shareinfo_first=428b2baa3d724f8cf5a9d84aa6086fd3">Linux 内核追踪神器：perf 实现原理剖析</a>: 本文深入剖析了 Linux 内核性能分析工具 Perf 的实现原理、功能特点、安装与使用方法，以及其在性能优化中的应用场景和重要性。Perf 是一款强大的性能分析工具，能够帮助开发者深入理解系统性能问题并进行针对性优化。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg2MjE0NDE5OA==&mid=2247489144&idx=1&sn=1d169172ff5534a97f65cdfc6d8d87c1&chksm=cf3fa8dff39d237ca2ec9282e1989acad2a000e1c0d21a222deacd84c9a20a2f92cd522d86a6&mpshare=1&scene=1&srcid=0406B6zO4VH26dAqZkv2Eh62&sharer_shareinfo=c9c8b1fa99f3d166e7acdb4a00571024&sharer_shareinfo_first=c9c8b1fa99f3d166e7acdb4a00571024">LWN：网络代码中着手处理冻结页！</a>: LWN：网络代码中着手处理冻结页！这篇文章讨论了 Linux 6.14 内核引入的冻结页优化技术及其对性能的潜在影响，同时分析了网络子系统在应用该技术时遇到的问题和解决方案。</li><li><a href="https://androidweekly.net/issues/issue-669/">androidweekly issue-669</a>: androidweekly issue-669</li><li><a href="https://juejin.cn/post/7490003622233849883">Flutter 教程（十四）动画</a>: Flutter 动画教程介绍了动画的分类及其实现方式，包括补间动画、物理动画、隐式动画、显示动画、Hero 动画和交织动画。文章详细讲解了每种动画的定义、特点及代码示例，帮助开发者在 Flutter 中灵活运用动画技术。</li><li><a href="https://juejin.cn/post/7489488440112562228">RecyclerView——ItemTouchHelper</a>: 本文详细介绍了 RecyclerView 的辅助类 ItemTouchHelper 的使用及源码解析，包括其功能、构造方法、事件处理、拖拽与侧滑手势处理、以及实现拖动效果的原理。</li><li><a href="https://juejin.cn/post/7489302960176300086">为什么要慎用 Skia 多线程渲染？</a>: Android 渲染通过 UI 线程和渲染线程的分离实现了多线程渲染，UI 线程负责更新 UI，渲染线程负责完成渲染指令。然而，使用多线程就不得不考虑到线程安全和死锁等问题，因此 Android 也设计了很多保护和限制。对于更新 UI 这项工作，Android 严格限制只能在 UI 线程中进行，如果在子线程中更新 UI 就会抛出一个异常——CalledFromWrongThreadException。对于进行渲染这项工作，Android 没有像更新 UI 那样直接限制成在非渲染线程中就抛出异常，所以开发者需要更加谨慎地使用使用多线程。本文将介绍一个笔者实际遇到的 AOSP bug，引出 Skia 单一使用者原则，分析 Google 如何实现对渲染的线程安全保护。</li><li><a href="https://zhuanlan.zhihu.com/p/1891269337727342426">用于地址空间隔离的页面分配</a>: 这篇文章主要讨论了一种用于内核地址空间隔离的页面分配技术，并分析了其设计理念、性能挑战以及在实际应用中的问题和解决方案。</li><li><a href="https://juejin.cn/post/7489011300729471003">Android V app 冷启动(8) 动画结束</a>: 本文详细解析了 Android V 应用冷启动过程中的 Transition 结束流程，包括 WMShell 和 WMCore 的工作机制、WallpaperWindowToken 的不可见提交、DisplayContent 的 transition finish 处理、屏幕方向更新与配置更新，以及 Fixed Rotation 的清理与应用。</li><li><a href="https://juejin.cn/post/7488176279923441704">Flutter 伪 3D 绘制#1 | 三维空间</a>: 该文章介绍了如何使用 Flutter 中的 Canvas 实现伪 3D 绘制，通过投影变换将三维点映射到二维平面，并绘制三维坐标系、空间点和旋转效果。文章详细讲解了数据定义、投影逻辑及绘制方法，并提供了代码示例。</li><li><a href="https://juejin.cn/post/7488582788674650146">Flutter 伪 3D 绘制#02 | 地平面与透视</a>: 本文介绍了如何在 Flutter 中绘制伪 3D 地平面网格，并通过数学投影逻辑实现透视效果，解决线条绝对平行带来的视觉违和感。通过动态调整参数，可以优化视觉体验，增强三维空间的表现力，为后续深入分析投影映射逻辑奠定基础。</li><li><a href="https://juejin.cn/post/7488943445005090842">Flutter 伪 3D 绘制#03 | 轴测投影原理分析</a>: Flutter 伪 3D 绘制#03 文章详细解析了轴测投影的原理，介绍了如何将三维空间的点映射到二维平面，包括等轴测投影的数学计算和应用场景。</li><li><a href="https://juejin.cn/post/7486757871629778996">Kotlin 对 Android 整体编程有什么明显的改进，这几年自身有什么更新</a>: 自 2017 年 Google 宣布 Kotlin 为 Android 官方语言以来，其对 Android 开发的革新体现在编程效率、代码质量、跨平台能力等多个维度，同时 Kotlin 语言自身也经历了重大技术演进。</li></ol><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><ol><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzNDQxNTI4OA==&mid=2247483767&idx=1&sn=1b7b572686071845edae54e12f66348a&chksm=c3f2cce6df594283e8c3ca91362590600cd4064aba03b1d7e6d87221891d02af86bcc18ac4db&mpshare=1&scene=1&srcid=0405voiY0ZWo0AHwM1OS7wqt&sharer_shareinfo=5e2e10c23540dc7134d475d4be5cfada&sharer_shareinfo_first=b96d5bd594c6dda48f41a33bd1a8b429">程序员的自我修养 - 第二章 编译和链接</a>: 程序员的自我修养 - 第二章编译和链接，详细探讨了从源代码到可执行文件的整个过程，包括预处理、编译、汇编和链接的步骤。文章通过示例代码和工具命令，深入剖析了各阶段的工作原理及其作用，并对编译器的工作流程进行了详细分析。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI1ODQ3NDA2Mg==&mid=2247486460&idx=1&sn=6b612f42d00e64071430206bc6617ce8&chksm=eb6bfa7c7cbc26860215e5a6fbb2d377509217264ce95a83d9564b3f4a6a696ecfedc9b0bd3b&mpshare=1&scene=1&srcid=0406Vqpdn9HzPjuWtqucW6wk&sharer_shareinfo=3a631bacbb466732f424a3870371f406&sharer_shareinfo_first=3a631bacbb466732f424a3870371f406">工作九年程序员的三月小结</a>: 工作九年的程序员拭心分享了三月份的个人工作和生活总结，涵盖了合同续签、AI 项目进展、工具学习、宠物手术、租房搬家以及装修等内容。他对技术的简化趋势进行了反思，同时表达了对未来的焦虑与兴奋。</li><li><a href="https://www.ftium4.com/ux-weekly-226.html">体验碎周报第 226 期（2025.3.31）</a>: 系统的知识来源于对碎片的整理和思考，为了更好地输出系统知识，记录本周我发现的体验设计和思考，为构建系统知识做准备。</li><li><a href="https://onojyun.com/2025/04/06/%e8%87%aa%e8%af%81%e9%99%b7%e9%98%b1%e8%83%bd%e6%8c%96%e5%a4%9a%e6%b7%b1%ef%bc%9f/">自证陷阱能挖多深？</a>: 这篇文章围绕“自证陷阱”展开，作者通过与一位质疑者的对话，分析了如何应对逻辑陷阱，尤其是“自证陷阱”和“动机陷阱”。文章探讨了创作者是否需要证明自己的创作真实性，以及如何避免陷入主观争论。作者最终总结了一些策略来脱离这些逻辑困境，并强调了在面对主观质疑时及时抽身的重要性。</li><li><a href="https://joojen.com/archives/8185.html">健身是所有人的必修课</a>: 这个文章探讨了健身的重要性以及作者个人的健身体验和感悟，强调健身不仅是一项身体活动，更是长期健康生活规划的重要组成部分。</li><li><a href="https://pythoncat.top/posts/2025-04-05-weekly/">Python 潮流周刊#96：MCP 到底是什么？</a>: 本周刊由 Python 猫 出品，精心筛选国内外的 250+ 信息源，为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景：帮助所有读者精进 Python 技术，并增长职业和副业的收入。</li><li><a href="https://isming.me/2025-04-01-march-summary/?utm_source=rss">草长樱飞的三月月报</a>: 三月工作清闲，作者重新学习 Flutter 并开发了 FyMemos 客户端，同时利用每个周末进行户外活动，包括徒步和露营，感受春天的自然美景。阅读了阿德勒的《自卑与超越》和《读库 2502》中的西游相关内容，收获新视角。此外，开始跑步锻炼身体，改善体能，并经历了一次轻微交通事故。作者总结春天是感受自然的好时机，计划四月继续户外活动并努力提升自己。</li></ol><h2 id="AI"><a href="#AI" class="headerlink" title="AI"></a>AI</h2><ol><li><a href="https://juejin.cn/post/7485296558466400275">闲谈丨一名 AI 体验者的自述</a>: 文章讲述了一位 AI 体验者从最初对 AI 工具的不屑一顾到深刻依赖的态度转变。他分享了 AI 对工作与生活的巨大影响，包括提升开发效率、减少对传统学习媒介的依赖，以及在代码分析和工具开发中的实际应用。同时，他也指出了当前 AI 仍有的一些局限性，并探讨了如何与 AI 共处的最佳方式。</li><li><a href="https://github.com/MobinX/awesome-mcp-list">Awesome MCP Servers - Concise List</a>: 该文章提供了一个关于 MCP 服务器的简洁列表，涵盖了多个领域的应用，包括浏览器控制、艺术与文化、云平台、命令行工具、通信、客户数据平台、数据库、开发者工具、数据科学工具、文件系统、金融科技、游戏、知识与记忆、定位服务、营销、监控、搜索以及实用工具等。每个部分列出了相关的 MCP 服务器及其功能和集成方式。</li><li><a href="https://github.com/funstory-ai/BabelDOC">BabelDOC</a>: BabelDOC 是一个功能强大的 PDF 科学论文翻译和双语对比工具，提供在线服务和自部署选项。它支持英语到中文的翻译，具有丰富的命令行选项和 Python API，可用于文档处理和翻译。项目旨在解决 PDF 解析和翻译中的结构保留问题，并通过插件系统实现扩展。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4MTQyNzkxNw==&mid=2247484077&idx=1&sn=a9ea8f707fe733c43f8c5e8b119efd95&chksm=eaa3bb549d34d9b69fa713d6f5a05ee7aebbe587ddbcc7105cdfb25ececa5bd138a5a140cde0&mpshare=1&scene=1&srcid=0406EAJwfSBv8kNBXXR6T3mD&sharer_shareinfo=1285f5c35b21a56bde53198b6074ed60&sharer_shareinfo_first=1285f5c35b21a56bde53198b6074ed60">[译] AI 计算民主化 第七部分：如何看待 Triton 与 Python eDSLs？</a>: 本文探讨了 AI 计算民主化背景下，Python 嵌入式领域特定语言（eDSLs）如何弥合易用性与性能之间的差距，重点分析了 Triton 及其优缺点，并对其他类似技术进行了对比。同时讨论了 eDSLs 的局限性、治理问题以及未来 AI 编译器的统一框架 MLIR。</li><li><a href="https://juejin.cn/post/7487781830662438952">deepseek ai 输入法</a>: 文章介绍了使用 Java 开发安卓输入法并接入 DeepSeek 实现 AI 聊天功能，提供了视频演示和开源代码地址，同时解析了技术细节，包括输入法服务类、布局文件和程序入口等，适合对 Android 开发和 AI 集成感兴趣的开发者参考。</li><li><a href="https://baoyu.io/blog/ai-software-engineer-prompt-engineering">从“首个 AI 软件工程师” Devin 2.0 的系统提示词看提示词工程的奥秘</a>: 文章分析了 AI 软件工程师 Devin 2.0 的系统提示词，深入探讨了提示词工程的原理和应用。提示词不仅为 AI 设定了角色、任务和行为准则，还规定了工具使用、交互结构、安全规范以及特殊场景处理机制。这些提示词设计旨在提升 AI 的效率、安全性和任务执行能力，同时也揭示了提示词工程的复杂性和潜在风险。</li><li><a href="https://baoyu.io/blog/ai-generalist-vs-specialist">为什么靠 AI“什么都懂一点”，却并不能真正变专业？</a>: 现在，很多人都对 AI 抱着一个幻想：我可能不是很专业，但如果借助 AI，不就能轻松变成专业人士了吗？确实，AI 在某些方面给了我们这样的错觉，比如稍微懂一点编程的人，可以轻松地用 AI 写出一个小程序的原型；不怎么懂设计的人，可以通过 AI 快速生成看起来不错的海报。然而，这种“什么都懂一点”再靠 AI 加持就能变专业的想法，其实是一种误解，甚至可能是一种危险的误解。</li></ol><h2 id="书籍推荐"><a href="#书籍推荐" class="headerlink" title="书籍推荐"></a>书籍推荐</h2><h3 id="Android-性能优化之道"><a href="#Android-性能优化之道" class="headerlink" title="Android 性能优化之道"></a>Android 性能优化之道</h3><p>这是一套从 Android 性能优化本质入手，指导读者实现从硬件层到操作系统层再到应用层全面优化的实战方法论。本书由 Android 方向 Google 开发者专家撰写，融合了作者 10 年大厂实战经验，其中不仅包括作者实操过的监控、优化、防劣化等方向的各种典型案例，还包括多个实战小技巧，可以帮助读者解决工作中遇到的 90%以上的能优化问题。 本书内存、速度和流畅性、稳定性、包体积、耗电、磁盘占用、流量、降级这 8 个方向的性能优化内容。这些内容方向均从原理和实战两个维度进行解读。其中，原理部分直指优化的本质，不仅包括相关基础知识，还包括性能优化的底层逻辑；实战部分以指导读者实操为主要目标，以案例为主要讲解形式，深度解读作者精心总结的各种实战案例中用到的技术和原理。本书基于 Android 14 撰写，但也会涉及 Android 14 以外的其他 Android 版本的源码。 </p><p><img src="/images/Weekly#50/img_00_5b19de47.jpg" alt="image"></p><p>jd：<a href="https://item.jd.com/10139251977728.html">Android 性能优化之道</a></p><h3 id="打通-Linux-操作系统和芯片开发"><a href="#打通-Linux-操作系统和芯片开发" class="headerlink" title="打通 Linux 操作系统和芯片开发"></a>打通 Linux 操作系统和芯片开发</h3><p>为什么选择写打通操作系统和芯片开发的内容？我们知道计算机是个变化极快的行业，特别是从事互联网行业的朋友，经常面对技术的更新，开发语言的迭代，每天过的都很焦虑，随着新人的入职，技术的变化，老人的技术经验似乎无法得到发挥，这也是为什么都说程序员有 35 岁失业的根本原因。那么技术更新不那么快的行业是不是就好点了呢？的确如此，比如更加底层的嵌入式行业，操作系统行业，芯片行业等都会比互联网行业好很多，特别是同时懂软件和硬件的工程师，甚至随着时间的推移，越老越吃香，而且国家越来越重视底层技术的开发。即便是在互联网行业，如果你对底层技术有着深厚的积累，依然可以很有竞争力，就相当是拥有了武侠片中的内功，一旦有了雄厚的内功，其它武功你一看就明白，一学就会，任何招式你和别人打出去的威力就不是一个级别。这种帮助无论对嵌入式开发者，还是对互联网程序员都是非常明显的。</p><p><img src="/images/Weekly#50/img_01_e9702de8.jpg" alt="image"></p><p>jd：<a href="https://item.jd.com/14954302.html">打通 Linux 操作系统和芯片开发</a></p><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#100;&#114;&#101;&#x61;&#x6d;&#116;&#x61;&#x6c;&#101;&#x2e;&#106;&#103;&#64;&#x67;&#109;&#x61;&#x69;&#x6c;&#46;&#x63;&#111;&#109;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-50&quot;&gt;&lt;a href=&quot;#Android-Weekly-50&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #50&quot;&gt;&lt;/a&gt;Android Weekly #50&lt;/h1&gt;&lt;blockquote</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #49</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-03-31-Android-Weekly-49/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-03-31-Android-Weekly-49/</id>
    <published>2025-03-30T16:00:00.000Z</published>
    <updated>2025-03-30T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-49"><a href="#Android-Weekly-49" class="headerlink" title="Android Weekly #49"></a>Android Weekly #49</h1><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247493346&idx=1&sn=a2df4a6d0bfdb8634604b379b018bd09&chksm=cfd46b6cf0e9c7c042182c6eeb33e88cab962d9b21123233134057c659beb482ac55e3a9e2f3&mpshare=1&scene=1&srcid=0318B0aiqRsk7embKj6TM6fS&sharer_shareinfo=70caf7f7dd0d117c20201c83c8f2c606&sharer_shareinfo_first=70caf7f7dd0d117c20201c83c8f2c606">Android Vulkan 官宣转正并统一渲染堆栈 ，这对 Flutter 又有什么影响？</a>: Android Vulkan 官宣转正并统一渲染堆栈，这标志着 Vulkan 成为 Android 唯一的 GPU 硬件抽象层（HAL），所有应用和游戏将必须基于 Vulkan 实现。为解决 OpenGL 和 Vulkan 的兼容性问题，ANGLE 被引入作为兼容层。此外，Google 通过 Vulkan 配置文件（VPA）提高一致性，并与 Unity 和联发科合作优化性能。对于 Flutter，Android 的碎片化对 Impeller 的落地带来挑战，但未来可能通过 ANGLE 和 Vulkan 的普及改善这一状况。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzIwNTQxMjM5MA==&mid=2247486275&idx=1&sn=5a54c81efa23af2da4a775b68cd056d6&chksm=96126e31f9e40ffaa8954c9fd6c61dddb0e9a4ae9de94fe06a018f4bdf2e47f8b7f5895ce7cd&mpshare=1&scene=1&srcid=0318Ytr9eOunb5j5FgU9OoZu&sharer_shareinfo=8f873ff344f53dde7026b9ea5412b691&sharer_shareinfo_first=8f873ff344f53dde7026b9ea5412b691">移动 OS 设计之性能设计 3 - 专制型资源管理策略至关重要</a>: 文章探讨了移动操作系统在资源管理和服务质量保障方面的设计策略，强调专制型资源管理的重要性，特别是在面对复杂、多任务的移动环境时。文章通过对比安卓和苹果的设计理念，分析了资源分配、优先级管理以及容量规划等关键策略。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk3NTA0NjcyMw==&mid=2247483710&idx=1&sn=414e4923e033ec4bd3ee5ad39ea5801f&chksm=c5419016d40404c2aa49d2f66049aa49470716baacaecebf7c1cd3c62d392901265388465195&mpshare=1&scene=1&srcid=0324wa1FfqrA7CILDiu3tNGQ&sharer_shareinfo=cf8321fe443285b1d61abad9d824bfe4&sharer_shareinfo_first=cf8321fe443285b1d61abad9d824bfe4">移动 OS 设计之性能设计 4 - 服务质量信息的传递</a>: 这篇文章的主要内容是基于第三篇文章「移动 OS 设计之性能设计 3 - 专制型资源管理策略至关重要」的内容。在那篇文章中，我提到移动 OS 相较于以往的操作系统，其计算能力和设备资源都有限。因此，移动 OS 的服务质量需要被明确界定。这种服务质量的体现强调的是可预期的表现。在某些业务场景中，服务并不是越快越好，而是在设备资源的限制下，提供符合用户预期的服务即可。在明确了服务质量的划分后，随之会引发其他问题。实际上，所有的技术方案都是如此。在软件领域中没有所谓的“银弹”，即不存在一个万能的解决方案。每一个方案在解决某个问题的同时，往往会引发新的问题。而这些新的问题则需要通过其他方案来解决，直到这些问题被转换为在其他层面上可接受的问题，或者被等价地转换成用户并不关心的问题。</li><li><a href="https://juejin.cn/post/7482769108523171879">如何配置 Clion 编写 aosp 的 c++程序</a>: 这篇文章介绍了如何在 Clion 中配置并编写 AOSP（Android 开源项目）的 C++程序，主要适用于无法使用 ASFP IDE 的环境。文章详细说明了使用 AIDEGen 工具生成 CMakeLists 文件的方法，并提供了对 CMake 文件的修改建议及 Clion 索引优化配置步骤。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NzkxMjA1MA==&mid=2247485458&idx=1&sn=e89083065a47e152defab580b4077026&chksm=ceae35c59470314123b01f4e7e2ce8201836f31e49700cb47e7f258803ee4cade16e7ad3cb2a&mpshare=1&scene=1&srcid=0319EMzL3T65dFgSivIhMGYi&sharer_shareinfo=9ff43dcbc2c5751665d34ede932c8e44&sharer_shareinfo_first=9ff43dcbc2c5751665d34ede932c8e44">AI 时代的性能分析：GPU Profiling 初探</a>: 在 CPU 优化的过程中，例如我们遇到 CPU 打满的情况，我们可以通过 perf 等工具进行 Profiling，然后将数据可视化成火焰图等形式进行分析；同样的，在 GPU 的优化过程中，我们也可以通过 Profiling 来进行性能优化。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3Mjg2NDQ0NA==&mid=2247485970&idx=1&sn=ade5c31dce2fba6905c9c2c426c416b8&chksm=cf740413fec69ad3b0dbc38372678866c6b4e9e083092b2bceee912ca4faa03371c4ed2a6a8c&mpshare=1&scene=1&srcid=0320tWICSI5OdJMAIynRBdv9&sharer_shareinfo=4acd1d5a578be0dfbf3b52144a10ce5a&sharer_shareinfo_first=c6e40bf67ebe9a7529a1f704226404ed">再次勇闯稳定性岗位！vivo 社招面经——linux 系统工程师（底软稳定性与性能）</a>: 今天再一次给大家带来稳定性方向的面经，希望通过我的面经，让更多的人了解这个“神秘”的岗位，让更多的人了解稳定性到底问什么。</li><li><a href="https://juejin.cn/post/7484023895269326886?share_token=bb1b37ed-0172-4297-8e60-5f8ce800d703">利用内存页筛选法手撕内存越界行为</a>: 本文详细介绍了如何利用内存页筛选法定位内存越界问题，结合实际案例分析，探讨了内存踩踏的直接原因、间接原因，以及如何通过调整参数解决问题，并对内存分配器 Scudo 的特性进行了深入讨论。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247493382&idx=1&sn=1190a41467c71058f310091403696629&chksm=cf81c906331582cc926cfdcc97a9e1b703797c5659e91e17a515cb592f0579adaff8e947f180&mpshare=1&scene=1&srcid=0324amczKqtReIheUPC5ua7h&sharer_shareinfo=7802548902de7bf49bc21966c6bcfa17&sharer_shareinfo_first=7802548902de7bf49bc21966c6bcfa17">Flutter 新一代状态管理框架 signals ，它究竟具备什么魔法和优势</a>: Flutter 新一代状态管理框架 signals，通过自动状态绑定和依赖追踪实现了高效的状态管理。文章详细分析了 signals 的工作原理、与其他框架的对比以及其在 Flutter 中的应用方式。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzNDQxNTI4OA==&mid=2247483690&idx=1&sn=eca92a1eb298216a3f5de60ad0bef917&chksm=c3f8430f3d25255347efdfd46ed697cf6938124dca09af04f48b2d7d8a86f2a29418b1de3765&mpshare=1&scene=1&srcid=0325fn8yvIo7OH05250yufFO&sharer_shareinfo=f9b5956121393e2fc8387ec737f6502c&sharer_shareinfo_first=9a01db035e7a67c33fccc96455b710c2">程序员的自我修养 - 第一章 温故而知新</a>: 《程序员的自我修养》第一章通过从底层硬件到上层应用的层层解析，阐述了计算机系统的基本架构、操作系统的核心功能以及多线程与内存管理等关键概念。文章以“温故而知新”为主题，帮助读者理解计算机科学的基础知识，并通过历史发展和现代技术的对比，揭示了技术的演进和核心不变的本质。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzMTA2NjgzMA==&mid=2247488278&idx=1&sn=c5ccd3e5c795ed22019ae4925bb7a627&chksm=c3860cf8a810a015f7401854c060455398917cd6164e7fb483bd692d84f416a32d40d45ef699&mpshare=1&scene=1&srcid=0325dXK3KqhICqheicQ6q3bN&sharer_shareinfo=0196b9ebbcf005ccd2cfe0a5d9bf5ab2&sharer_shareinfo_first=997b13eca8405b8d3defe82caeed6b0d">高通 Oryon 处理器微架构分析</a>: 高通浓眉大眼又开始搞起了 CPU 设计，以前没什么反响，基本还是用 ARM 公版的核，自从 2021 年收购了 Nuvia，情况变得不一样了，这个公司是苹果 M1 的团队一些成员出走而创立的公司，原本是要搞服务器的，高通收购后又开始搞 PC 和手机端的核，这个公司的收购对高通的发展影响巨大，Oryon 的成功意味着高通不仅挤入了自研 CPU 的第一梯队，还标志着高通具备了 SoC 上所有核心组件自研的能力，并且都是先进水准，比如基带，GPU 这些。为此还和 ARM 对簿公堂，ARM 最后输掉了官司。今天我们看看这款高通“大核”Oryon 的微架构设计。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4MTQyNzkxNw==&mid=2247484067&idx=1&sn=2eb9ecada01e0b85c10b29d71ca7686b&chksm=eab17cc041f4224891cf3fa63681b950dcdbd8c8018f4dcd86d26fde404dfb186c7cbc54d43a&mpshare=1&scene=1&srcid=03257vRrgLBZzyF0BAQSrzEL&sharer_shareinfo=4e3fd9111a6dd87b781aa9286b17b26f&sharer_shareinfo_first=4e3fd9111a6dd87b781aa9286b17b26f">编译器是什么，它又能做什么？</a>: 编译器是将程序员编写的代码翻译为机器码的工具，在安全性、性能优化和开发体验等方面发挥重要作用。文章通过 Ken Thompson 的“编译器幽灵”事件引出编译器的重要性，详细讲述了编译器在安卓系统中的应用及其优化方法，并探讨了 AI 领域对编译器需求的扩展，强调了编译器在现代计算生态中的核心地位。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTQ4NDUyNg==&mid=2247489395&idx=1&sn=26868355a57b8ace5173a23cd29ab882&chksm=c3c7dd364684a688cb761c8fdded0a8aa193216e776f0e7ddc57ed5f1c0a6dd216a550775d51&mpshare=1&scene=1&srcid=0326at8wtLoSnVabFkyLQj4V&sharer_shareinfo=cb8eb51e0de62455f4d10e54008ebd81&sharer_shareinfo_first=e00be44c3f1fb9377317b8fca6d3aca6">聊一聊安卓 WallpaperService 壁纸窗口触摸事件接收原理-第一篇</a>: 在使用 android 手机时候，大家壁纸可能一般都是使用的静态壁纸，静态壁纸一般就是设置一张静态，这种静态壁纸因为是固定的一张图片，所以对壁纸触摸交互这块需求比较少，但是如果设置的是一个动态壁纸，那么这个触摸交互需求就会大大增加。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTQ4NDUyNg==&mid=2247489431&idx=1&sn=29321d1acb31e08ac11d8bb4e7a6f868&chksm=c3b42132948c7b36ae5e639cff074233c91cc63bd4180a980787ad65f1c7b96a2e4fccc5e325&mpshare=1&scene=1&srcid=0328lEJQ53DxBMIfV5MZEmbB&sharer_shareinfo=01b2816878fd5daf333ba943002502c6&sharer_shareinfo_first=ad9db94f2fbb8a2a7ef254ca0e761ead">android studio Debug 安卓 aosp 源码 userdebug 版本看不到局部变量怎么办？</a>: 安卓 aosp 源码 userdebug 版本调试时无法看到局部变量的解决方法，文章分析了问题原因并提供了解决方案，包括使用 eng 版本和修改代码等，同时提出了更彻底的解决方法，通过 eng 版本编译特定模块并覆盖 userdebug 版本的方式来实现局部变量的显示。</li><li><a href="https://juejin.cn/post/7483449728394477580">Linux 6.10 | CPU 调度</a>: 本文基于 MTK 平台和 Linux Kernel 6.1，围绕 CPU 调度机制进行了分析，重点探讨了唤醒场景下的选核策略、能耗优化方法以及负载均衡等内容。通过多个案例和代码解析，展示了 MTK 平台的调度策略如何在不同场景中实现任务的高效分配，同时也指出了复杂调度策略可能带来的副作用。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg2MjE0NDE5OA==&mid=2247489149&idx=1&sn=e74591c1c23af0aea36108eb9bc3326f&chksm=cf89f0ab951cf39cea31378a5acf9b08cd8a24ee6f52f873bac2b0b52060d3af966ce7009805&mpshare=1&scene=1&srcid=03282pLWLVpKYeFJy64Wpx27&sharer_shareinfo=031be08cb23ad7cdc2b6d4ea9dac6ff6&sharer_shareinfo_first=f815f41dce97b294e5d693a2f5adb5a7">LWN：2025 疯狂的 mapcount！</a>: 内核的内存管理子系统必须处理的众多重要任务之一，是跟踪内存页如何映射到系统上运行的进程的地址空间。只要存在到给定页面的映射，就必须保持该页面的存在。事实证明，跟踪这些映射比看起来应该的要困难，并且内存管理子系统内向 folios （页组）的迁移正在增加其自身的复杂性。作为 “mapcount madness” 会议的后续，David Hildenbrand 在 2024 Linux 存储、文件系统、内存管理和 BPF 峰会上发布了 一个补丁系列，旨在改进 folios 的映射计数处理 — 但在某些情况下，精确的跟踪统计仍然难以实现。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649080973&idx=1&sn=133679b9d82a4ef7b179901425c62833&chksm=86088fe124837e96c60e9405f2485217b9af4fe7ead44577302c0c85e75719763e78e382de0e&mpshare=1&scene=1&srcid=0330iBQGgXzZuyrc9gC0Luvi&sharer_shareinfo=dbdd641c9153fee0bb25e61b709aa087&sharer_shareinfo_first=dbdd641c9153fee0bb25e61b709aa087">我对 Android Looper 的重新设计</a>: 这篇文章探讨了对 Android Looper 的重新设计，提出通过使用 ConcurrentSkipListSet 跳表优先级队列优化消息插入效率，并引入消息分级机制（高优先级、普通、低优先级、闲置消息）来提升系统性能和 UI 流畅性。设计重点包括优先处理 vsync 等关键 UI 消息、通过 barrier 屏障实现异步处理、优化广播和服务的响应及时性，以及避免低优先级消息饥饿问题，同时建议精简线程以减少资源消耗。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NzcwMTUwNQ==&mid=2247483876&idx=1&sn=5d27f9dad85ce36dd1a4f7bdf5841a21&chksm=c29b1e2aea78eaf0d0bb91c8c1d7435b1f5c77425241d889037ecbe64cdd6dbd1dd5e851a7cb&mpshare=1&scene=1&srcid=0330dkRoKyyTUlCcgg4UHv4c&sharer_shareinfo=3d32be862681f719e60843f3fd0bc951&sharer_shareinfo_first=3d32be862681f719e60843f3fd0bc951">任务被唤醒后在哪个 CPU 跑？wake_affine 和 select_idle_sibling</a>: 在 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 的繁忙程度）。</li><li><a href="https://android-developers.googleblog.com/2025/03/media3-1-6-0-is-now-available.html">Media3 1.6.0 — what’s new?</a>: Android 开发者博客：Media3 1.6.0 有哪些新功能？</li><li><a href="https://juejin.cn/post/7485964427620548617">实战：在 Compose 中优雅地实现提示</a>: 本文详细讲解了如何在 Jetpack Compose 和 Compose Multiplatform 中优雅地实现提示功能，包括背景覆盖、锚点坐标计算、形状剪辑、提示绘制以及提示控制等内容，并提供了完整的代码示例和实现步骤。</li><li><a href="https://juejin.cn/post/7485965177096814642">Kotlin 中那些无法复现的 Java 写法</a>: Kotlin 对 Java 是 100% 兼容的，正如官方所说。 可即便如此，这就代表 Java 中所有的写法就都能在 Kotlin 中复现出来吗？倒也未必。 今天我就来简单盘点一些我发现的那些在 Kotlin 中无法复现出来的 Java 写法。</li><li><a href="https://juejin.cn/post/7485936146070356006">地图之 Compose 轻松绘制,可视化带点击事件，可扩展二次开发</a>: 本文详细介绍了如何在 Android 中使用 Compose 实现地图可视化，包括从 SVG 数据到 Vector.xml 的处理、地图大小和边距的调整、点击事件的实现等，并提供了完整的代码示例与封装好的库供开发者使用。</li><li><a href="https://juejin.cn/post/7485751340633538598">NativeAllocationRegistry—-通过绑定 Java 对象辅助回收 native 对象内存的机制</a>: 本文详细介绍了 NativeAllocationRegistry 类在 Java 和 Native 内存管理中的应用，尤其是在 Java 对象被垃圾回收后如何自动释放相关的 Native 对象内存。文章分为背景、原理、手动释放和自动释放的具体实现，并提供了代码解析和机制说明。同时提到了一些与此机制相关的应用场景，如 Bitmap 内存释放和 LeakCanary 的内存泄漏检测。</li><li><a href="https://juejin.cn/post/7485640765571285044">利用 bytehook 修复 EGL_BAD_ALLOC 异常</a>: 利用 bytehook 修复 Android 低版本（&lt;&#x3D;Android 9）中因系统 Bug 导致的 EGL_BAD_ALLOC 异常问题，通过 hook 函数解决空 Surface 引发的 fatal 异常，并提供了相关代码实现与分析。</li><li><a href="https://juejin.cn/post/7485633146315751461">Flutter 知识集锦 | 获取函数调用栈</a>: 本文介绍了 Flutter 开发中如何获取函数调用栈信息的几种方法，包括异常时的调用栈信息、捕捉异常时的调用栈信息，以及在任意位置主动获取调用栈信息的方式。文章强调了函数调用栈信息在问题定位、源码分析及日志记录中的重要作用。</li><li><a href="https://medium.com/androiddevelopers/make-webviews-edge-to-edge-a6ef319adfac">Make WebViews edge-to-edge</a>: 这篇文章介绍了如何在 Android 应用中确保 WebView 与“边到边”显示兼容，特别是在 Android 15 和 16 中强制实施边到边绘制的情况下。文章详细讨论了如何处理 WebView 的插图（Insets），以及如何根据应用是否拥有网页内容来采取不同的实现方法，包括通过 JavaScript 注入插图或调整容器的填充。还提到了如何处理输入法（IME）插图以确保键盘弹出时内容不会被遮挡。</li><li><a href="https://juejin.cn/post/7485413208939282451">【笔记】Android 耗时统计</a>: 这篇文章主要介绍了在 Android 开发中如何通过 OnFrameMetricsAvailableListener 和 Choreographer 来监控 UI 性能指标，分析卡顿问题并优化应用流畅度。</li><li><a href="https://juejin.cn/post/7484456544223920180">使用 Perfetto 进行流畅度分析</a>: 本文详细介绍了如何使用 Perfetto 工具进行流畅度分析，包括抓取 Trace 文件、分析卡顿原因、使用快捷键提升效率，以及结合日志进行可视化分析等内容。</li><li><a href="https://juejin.cn/post/7484454543352430626">关于 Perfetto 分析 Trace 耗时问题排查</a>: 本文详细分析了 Perfetto 工具中 Trace 耗时问题的排查方法，涵盖了主线程、渲染线程、GL 线程、SurfaceFlinger、Display 及性能问题等多个方面的耗时情况，并提供了原因说明及优化建议。</li><li><a href="https://juejin.cn/post/7484470326081388579">又解一个 bug - Fragment 异常显示问题</a>: 首页文章分析了一个 Android 开发中关于 Fragment 显示与隐藏的异常问题，并详细探讨了 FragmentTransaction 的 hide 方法实现原理及其潜在的坑点。作者通过案例分享了如何避免类似问题，并提出了设计跨平台框架时的优化建议。</li><li><a href="https://juejin.cn/post/7483748701845995572">Perfetto 上手指南 2 —— 基础使用</a>: Perfetto 上手指南 2 —— 基础使用，介绍了 Perfetto 的基础操作和界面功能。文章详细说明了如何进入 Perfetto Trace 分析界面、界面基本内容及其操作方法，包括快捷键使用、标记操作、插旗子和 Pin 操作等。文章还对 Trace 内容区的主要元素（如 slice、counter、CPU Sched Slice、thread_state）进行了说明，帮助用户更好地理解和使用 Perfetto 进行性能分析。</li><li><a href="https://imtx.me/blog/the-story-behind-the-development-of-poptranslate/">开发 PopTranslate 背后的故事</a>: 图拉鼎开发者分享了新产品 PopTranslate 的开发历程与背后故事。这款 macOS 原生工具以 AI 引擎为核心，提供翻译、解释和重写功能，旨在提升用户效率和体验。文章详细介绍了从前一款产品 MarkMark 的疲惫开发状态到探索新方向的过程，并描述了与妻子的合作、设计开发过程以及未来的展望。</li><li><a href="https://zhuanlan.zhihu.com/p/22541977531">lld 链接器：链接驱动和基本使用</a>: 链接是由源代码构建生成可执行文件的最后一个逻辑环节，它的输出就是可执行文件 EXE 或动态链接库 DSO。</li><li><a href="https://zhuanlan.zhihu.com/p/22550110629">lld 链接器的运行流程(1)——主干流程</a>: 接前文（lld 链接器：链接驱动和基本使用） 对 lld 基本情况的介绍，本文和后续文章介绍 lld 实现的 ELF 格式文件的链接流程</li><li><a href="https://zhuanlan.zhihu.com/p/22555632722?utm_psn=1886002735721206309">lld 中的重定位：原理、流程与数据结构</a>: 接前文对 lld 核心流程（lld 链接器的运行流程）的介绍，本文继续介绍 lld 对链接中一个核心机制的实现——重定位。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxMTI4MTkwNQ==&mid=2650854658&idx=1&sn=6bbeba36dedb43ff31776954cddcfddb&chksm=8186f700c0366b2b94f452cb8eb1e271e7e261c2f04b363457a109d770fe11f523ec25ee5abe&mpshare=1&scene=1&srcid=03180AkTsMgFReQVR482MfIa&sharer_shareinfo=4887d6cd9e70302b7a000fd561141833&sharer_shareinfo_first=4887d6cd9e70302b7a000fd561141833">Android×AI 技术周刊 - 第 3 期</a>: 本期周刊既有 Android 生态的更新，也有 AI 领域的开源黑科技与实战指南！无论你是想抢先体验 Android 16 Beta 的能力，还是探索 AI 多模态生成、智能体开发的前沿技术，这里都有不容错过的干货。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxMTI4MTkwNQ==&mid=2650854677&idx=1&sn=50f947c994b776a2d1be5d0ddf9808c7&chksm=81ec7da360a934f42cad3e59f1bd4b7cb9c206d9b6f407a7b467b59f96d4db4927fd556d4488&mpshare=1&scene=1&srcid=0324wL6dD4Qv5hai1YcqkFPf&sharer_shareinfo=bb4864edc9de3f8548790bc87f4842f8&sharer_shareinfo_first=bb4864edc9de3f8548790bc87f4842f8">Android× 鸿蒙 ×AI 技术周刊 - 第 4 期</a>: Android× 鸿蒙 ×AI 技术周刊 - 第 4 期总结</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzUzNzg4Nzc3MQ==&mid=2247485180&idx=1&sn=d3450cd4e8ad55ff76331c9e49bc6d57&chksm=fb539b2c7e7780b4147b503d220e5b6ac9e53da5fe512c18a3bae2c8c5a0e13482e99cafac26&mpshare=1&scene=1&srcid=0317Jhonzez6SqekD4MVw9h7&sharer_shareinfo=a2405acac8ad8e26eb2ebd7b27e1e61d&sharer_shareinfo_first=a2405acac8ad8e26eb2ebd7b27e1e61d">vLLM 深度解析：production stack</a>: 本文资料来自 vLLM Office Hours 第 21 次会议的记录，时间是 2025 年 3 月 6 日，主题是 vLLM 生产堆栈的深度探讨。主讲人包括 Red Hat 的 Michael Goin 和 Yihua Cheng。会议内容涉及 vLLM 的最新动态、production stack 的架构、性能优化、未来路线图等。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzUzNzg4Nzc3MQ==&mid=2247485194&idx=1&sn=7f8f1fd311b3afa4d428923c161c0d49&chksm=fb96535b02ec909dd92fbb8bf9e14a30e6b470f4ebb2d5646d62059936ae04ff120f4600458e&mpshare=1&scene=1&srcid=0320kw4CJX136LPcEcqRDfi8&sharer_shareinfo=4e348e8e0eaa44389ddda81fca00d637&sharer_shareinfo_first=b4bab0d6a6efc29824b49ba7a3b5cc95">vLLM 深度解析：Deekseek and vLLM -1</a>: 本文资料来自 vLLM Office Hours 第 20 次会议的记录，时间是 2025 年 2 月 27 日，主题是要讨论 vllm 对于 deepseek 的更新，内容丰富。</li><li><a href="https://mailchi.mp/kotlinweekly/kotlin-weekly-450">kotlin-weekly-450</a>: kotlin-weekly-450</li><li><a href="https://androidweekly.net/issues/issue-666">Issue #666</a>: Android Weekly 第 666 期，真是 6 ～</li></ol><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><ol><li><a href="https://baoyu.io/translations/praise-ordinary-engineers">致敬“普通”的工程师——一位软件工程师对“10 倍工程师”神话的质疑与反思</a>: 本文由 Honeycomb.io 联合创始人兼 CTO Charity Majors 撰写，探讨了“10 倍工程师”这一概念的局限性，并强调团队合作和构建支持普通工程师高效工作的系统的重要性。作者认为，软件开发的真正价值在于团队整体的效率，而非个别工程师的超凡能力。</li><li><a href="https://world.hey.com/dhh/age-is-a-problem-at-apple-f7ae6eca">Age is a problem at Apple</a>: 作者批评苹果董事会和领导团队年龄过于老化，平均年龄分别为 68 岁和 60 岁，缺乏年轻视角和多样性，导致决策与年轻用户需求脱节，例如 AI 产品的设计问题。他呼吁苹果引入“新鲜血液”，平衡经验与创新，以应对技术行业快速变化的挑战，并以 Meta 董事会更年轻的年龄结构为对比，强调年轻领导者的重要性。</li><li><a href="https://zhuanlan.zhihu.com/p/31440671477?utm_psn=1886002192592401365">技术管理思考：工作中人性问题</a>: 所有不符合逻辑事情不要干！整体和端到端审视，一定要逻辑自洽。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4NjAxNjY4Nw==&mid=2650240283&idx=1&sn=e74c7c337a40760a10e1e9707e9310aa&chksm=f2aaee15ba120da6928d66d8120d706f90b6aad6b63ff03a02e843bfc1a384f892be51308818&mpshare=1&scene=1&srcid=0321eCPp5WZxUcBObAJv1aBz&sharer_shareinfo=fbb1ce85b03c61875f7fd2824548ec8e&sharer_shareinfo_first=fbb1ce85b03c61875f7fd2824548ec8e">科技爱好者周刊#342：面试的 AI 作弊——用数字人去面试</a>: 这里记录每周值得分享的科技内容，周五发布。</li><li><a href="https://greyli.com/2024-summary/">2024 年总结</a>: 这篇文章是作者对 2024 年的总结，内容涵盖了写作、社区建设、生活、工作和新年计划等方面的回顾与展望。作者回顾了过去一年的成就与挑战，并展望了未来的目标，强调了身心健康和生活平衡的重要性。</li><li><a href="https://baoyu.io/translations/the-worst-programmer">我认识的最差程序员</a>: 衡量开发者生产力最棒的一点是，你能快速识别出差劲的程序员。今天我要和你讲讲我所认识的最差程序员，以及为什么我拼了命也要把他留在团队中。</li><li><a href="https://zhuanlan.zhihu.com/p/32526927403?utm_campaign=shareopn&utm_medium=social&utm_psn=1887920256678344045&utm_source=wechat_session&wechatShare=1&s_r=0">下一个“N 年思考”</a>: 这篇文章记录了作者在技术领域的职业成长和思考，分享了他在过去几年中围绕技术核心问题所取得的成就，以及对未来技术方向的探索和挑战。他详细描述了在软件工程、DFX 能力建设、跨设备诊断、AI 与软件工程结合等方面的实践与成果，同时提出了一些未解决的问题和未来的努力方向。</li><li><a href="https://mp.weixin.qq.com/s/W56P_HMprc6WVEiCdR8OKw">AI 时代下的工程领导力：如何打造高效团队 - 来自谷歌工程负责人、Chrome 开发者的宝贵经验分享</a>: 今天偶然读到 Chrome 开发者、Google 工程负责人、著名技术书籍作者 -Addy Osmani 的一篇文章「Leading Effective Engineering Teams in the Age of GenAI」，讲的特别好，对于产品和研发方向如何变得高效，不管你是团队领导者、还是团队成员，都很有价值，分享给朋友们</li><li><a href="https://addyo.substack.com/p/leading-effective-engineering-teams-c9b">Leading Effective Engineering Teams in the Age of GenAI</a>: 这篇文章探讨了在生成式人工智能（GenAI）时代，如何有效领导软件工程团队，重点在于技术领导力的演变、AI 工具的使用策略、团队技能提升、以及 AI 技术对工程师职业发展的影响。文章还提供了实际案例研究和未来领导力的方向。</li><li><a href="https://mp.weixin.qq.com/s/WWcceNlXnjXu6j2bQaQ_bQ">AppStore 首页推荐后，依然月入不足 3000，独立开发两年血泪复盘</a>: 这篇文章是一位独立开发者对其两年独立开发生涯的复盘与反思。尽管曾获得 AppStore 首页推荐并得到用户好评，但因收入不足以维持生计，最终选择放弃全职独立开发。作者分享了失败的原因、独立开发的经验教训，以及对产品推广和商业化的深刻理解，同时也提出了对未来独立开发方向的建议。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4NTk1NzYwNg==&mid=2247483927&idx=1&sn=452797d03669e052bdff132919b18187&chksm=eac2a604f61460f6844836f5335fd7bb159ebe43d642e45184d2abf420c9c0eeb68c8431e972&mpshare=1&scene=1&srcid=03271zCuHFgFJfUNdbVQ3VRh&sharer_shareinfo=ecb438abe10c7f8be44981b9a281aeff&sharer_shareinfo_first=ecb438abe10c7f8be44981b9a281aeff">谷歌决定闭源 Android？Fake News！</a>: 谷歌将继续开源 Android，但开发流程将更为私密化。媒体误传谷歌将闭源 Android，实际情况是某些模块的开发早已是私有化的。谷歌此举旨在提高效率和版本发布速度，但会对开源贡献者和技术爱好者产生一定影响。</li><li><a href="https://www.zhihu.com/question/1888573522948891336/answer/1888877702695605640">Google 调整 Android 开源政策，核心开发全面转向私有分支，这将对行业产生什么影响？</a>: 谷歌调整了 Android 开源政策，其核心开发全面转向私有分支。这一变化对手机厂商、应用开发者、技术爱好者以及没有与谷歌合作的设备厂商产生了不同程度的影响。主要原因可能包括降低成本、提高效率以及 Android 生态的逐步成熟。</li><li><a href="https://zhuanlan.zhihu.com/p/32085214281">给 IT 年轻人职业建议 5(在工作中找到乐趣)</a>: 一个人职业生涯中，工作和兴趣完全匹配几乎不存在。工作中往往是一些枯燥繁琐的事情，如改不完的软件的 BUG，写不完的汇报材料，还有开不完的低效会议，及其周边团队无意义的推卸拉扯。技术人员更喜欢安静的做做设计，写写代码，读读代码，学学新技术等。理想的工作是不存在的，那就需要在日常工作中找到一些乐趣。怎么找到乐趣其实一句话就是学会“上下求索，好奇心”。</li></ol><h2 id="AI"><a href="#AI" class="headerlink" title="AI"></a>AI</h2><ol><li><a href="https://www.edony.ink/how-to-study-deepseek-by-myself-5/">关于 DeepSeek 我是怎么研究的(5)</a>: 文章详细介绍了 DeepSeek-R1 模型的研究背景、训练过程和性能评估，阐述了其通过结合强化学习和冷启动数据的微调来提升推理能力，并在多个基准测试中表现优异。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkwMzY5NzU2Nw==&mid=2247485521&idx=1&sn=7f8a4ccdb2c61e761680aaca85aad946&chksm=c14a60671873016f5f6a76648caa6bd8814afdb1a9dcf750cbbed6687baa19ab84ba5c8f8e99&mpshare=1&scene=1&srcid=0317R6zGCWW70GaSXsPvnZ1m&sharer_shareinfo=e5f19e6a645beca53fa01f3902943939&sharer_shareinfo_first=e5f19e6a645beca53fa01f3902943939">4 段超神提示词解锁 Claude 3.7 能力上限</a>: Claude 在升级到 3.7 之后，能力获得了大幅提升，在前端编程方面已经远远超出其他模型，重新定义了 AI PPT 的概念，我已经把所有图表都交给 Claude 3.7 用代码直接写了。最近一直想把方法分享给大家，但苦于没有精力动笔，刚好我的朋友归藏做了一些研究，向阳乔木做了一些延展，写出了这篇很棒的文章。</li><li><a href="https://mp.weixin.qq.com/s/d5QjUdnRKBfMjOgldRGA0A">DeepSeek 赋能 A 股交易：用 AI 让你快人一步！</a>: 用 AI 赋能 A 股交易：DeepSeek 工具解析市场动态，助你快人一步！</li><li><a href="https://github.com/sonnylazuardi/cursor-talk-to-figma-mcp">sonnylazuardi&#x2F;cursor-talk-to-figma-mcp</a>: 此项目实现了 Cursor AI 与 Figma 之间的模型上下文协议（MCP）集成，允许 Cursor 以编程方式读取和修改 Figma 设计。提供了详细的安装、使用指南以及功能工具列表，用于设计文档操作、元素创建、样式设置、布局调整等。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4MTQyNzkxNw==&mid=2247484042&idx=1&sn=b172176b249251f4e77d60de2285c377&chksm=ea5e448ae075d1c25a58f8520bf5989faa726bfd54ad18eb0f9d08907ee1a28840a0e6e99222&mpshare=1&scene=1&srcid=0319DGAe5IHdzNNa6XkmsWbz&sharer_shareinfo=38f5f025548c0ef18adb13d118f49870&sharer_shareinfo_first=38f5f025548c0ef18adb13d118f49870">[译]AI 计算民主化 第一部分：DeepSeek 对 AI 的影响</a>: DeepSeek 对 AI 的影响 探讨了 DeepSeek 技术如何通过创新方法减少对昂贵硬件的依赖，推动 AI 算力民主化。文章回顾了作者 Chris Lattner 的职业生涯，强调了软硬件协同设计、共享基础设施的重要性，并提出解决 AI 算力生态挑战的思路。文章还是系列内容的开篇，核心围绕 CUDA 技术及其影响展开深入探讨。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4MTQyNzkxNw==&mid=2247484043&idx=1&sn=10b3bf36f527975282c5f8c918d38506&chksm=ea35c68d4268ffebc00a85a8c3c6630308ef689e6b12e8618e3ac611f8cdcd6aca6473559cf4&mpshare=1&scene=1&srcid=0318YwQ34MqWau9V0sqkhmEs&sharer_shareinfo=2dd6e44f037eaf6a704fa63c3b71b561&sharer_shareinfo_first=2dd6e44f037eaf6a704fa63c3b71b561">[译]AI 算力民主化 第二部分：究竟何为“CUDA”？</a>: 本文是“AI 算力民主化”系列的第二部分，深入解析了 CUDA 的技术内涵、历史演进及其在现代 AI 计算中的核心地位。文章详细阐述了 CUDA 作为一个完整生态系统的多层次架构，并探讨了其发展历程及对 AI 领域的深远影响。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4MTQyNzkxNw==&mid=2247484047&idx=1&sn=4cae53b78b22cf6c7ae3ca028a1d3a11&chksm=ea942e7a3f9f7aedd10c35df9a22605595d19a5a4447761221188c7c81b81c1b92cfac28acc5&mpshare=1&scene=1&srcid=0319Jo83nIrc4Qtr6uCctRuo&sharer_shareinfo=289c29c95393f6799271cf5b48b3f85a&sharer_shareinfo_first=289c29c95393f6799271cf5b48b3f85a">[译]AI 算力民主化 第三部分：CUDA 是如何成功的？</a>: 本文深入解析了 CUDA 在 GPU 计算领域取得统治地位的原因，探讨了其技术优势、战略执行、生态系统锁定效应以及 AI 发展的历史机遇。文章还分析了英伟达如何通过软硬件深度耦合、跨代兼容性和开发者生态建设，成功巩固了 CUDA 在深度学习、生成式 AI 等领域的核心地位。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4MTQyNzkxNw==&mid=2247484053&idx=1&sn=50ac219fc15a96d47d8fe7f5c13b8589&chksm=ea472c500e2f435c2d659ba684727e9b10e994ff9fba8f6059563888a04f1716fdf46fe2d910&mpshare=1&scene=1&srcid=0320l9T6Mditu0Zf92c2RRGr&sharer_shareinfo=8245be77c5dfa5b4729ad2da9218f46d&sharer_shareinfo_first=8245be77c5dfa5b4729ad2da9218f46d">[译]AI 算力民主化 第四部分：CUDA 虽为现有主导者，但它真的完美吗？</a>: 本文探讨了 CUDA 作为 AI 计算领域的主导技术，其优势与局限性。从开发者视角分析了 CUDA 对 AI 工程师、性能优化工程师以及跨平台开发者的影响，同时指出了其复杂性、技术债务和供应商锁定效应对未来 AI 发展的潜在挑战。文章还提及了英伟达如何利用 CUDA 巩固其市场地位，但也面临创新与兼容性之间的矛盾。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzIyMDg5MzEyMA==&mid=2247489190&idx=1&sn=30adbc84f57e3cc81a27704f24e60c62&chksm=96636eb179bf2f76b25f2e9e9a9659abc2d380d19a5155a6beb7e4995ae76c554f36fba82722&mpshare=1&scene=1&srcid=0320hRgcPycK4eTO5G7WzRt4&sharer_shareinfo=af0ce5943542da5fb115009837d0d7df&sharer_shareinfo_first=af0ce5943542da5fb115009837d0d7df">Perfetto 快速上手指南 1 —— Trace 的抓取</a>: Perfetto 是 google 从 Android10 开始引入的一个全新的平台级跟踪分析工具。它可以记录 Android 系统运行过程中的关键数据，并通过图形化的形式展示这些数据。Perfetto 不仅可用于系统级的性能分析，也是我们学习系统源码流程的好帮手。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4MTQyNzkxNw==&mid=2247484057&idx=1&sn=c5250aa3858ec7ae1970f5ae1ab3c353&chksm=ea62120ff18a9bfa6e2a57cf7e80f87e7c06f7acb4de18b322ed5e15f9a39bb324310ee6d5a8&mpshare=1&scene=1&srcid=03214McXlPWCgs4dqwituoA0&sharer_shareinfo=af8e724bd75a0c7f2ccee6dba77b9ed0&sharer_shareinfo_first=a5eeac65e711ee73ef6e03559ed7f9dc">[译]AI 算力民主化 第五部分：CUDA C++替代方案（如 OpenCL）现状如何？</a>: 本文探讨了 CUDA C++替代方案（如 OpenCL）的现状，分析了其技术优势、局限性以及未能成为 AI 计算领域主导平台的原因。文章详细阐述了 OpenCL 的历史背景、技术缺陷、行业竞争与协作的挑战，以及与现代 AI 需求之间的脱节。同时，文章对 NVIDIA 通过 CUDA 与 AI 框架的协同设计所取得的成功进行了对比，总结了成功系统的关键要素，并提出了对未来 AI 编译器发展的思考。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4MTQyNzkxNw==&mid=2247484061&idx=1&sn=bcaa805cf9fdb0f32c3f04af382f2e84&chksm=eac93b39faccc25f2d3e26a46e15974aca01b5e9b4ee483f5003e6d20c6236c95b13b9706eb2&mpshare=1&scene=1&srcid=0322rFHur0dLUVLhgdJowgsW&sharer_shareinfo=dc191ca27e5cd882539027336f5ea496&sharer_shareinfo_first=dc191ca27e5cd882539027336f5ea496">[译]AI 算力民主化 第六部分：TVM 和 XLA 等 AI 编译器现状？</a>: 本文探讨了 AI 编译器（如 TVM 和 XLA）的现状及其在 AI 算力民主化中的角色，分析了其技术优势与局限性，同时对生成式 AI 的兴起如何改变 AI 编译器需求进行了深入剖析。文章还引用了 TVM 和 XLA 的经验教训，并提到了 MLIR 和 Triton 等新兴技术可能带来的突破。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkwMzY5NzU2Nw==&mid=2247485710&idx=1&sn=e899ea4df943f36a069eaa054400dace&chksm=c141cab458ff11f51c47df0e39b136b36d72a2218154e1aa4a317da34fd482e638430f2d87fb&mpshare=1&scene=1&srcid=0325aXVRBQHgfIOBvTq7ivgh&sharer_shareinfo=d56868ca7aa4311a6f42403ed1b028a2&sharer_shareinfo_first=d56868ca7aa4311a6f42403ed1b028a2">全新 DeepSeek V3 发布，代码能力大幅提升</a>: DeepSeek V3 更新 0324 版本，应该是基于 V3 继续训练的产物。</li><li><a href="https://egoist.dev/chatwise-mcp">在 ChatWise 中使用 MCP 工具</a>: MCP (Model Context Protocol)，也就是模型上下文协议，是一个让模型访问外部资源的规范，由 Claude 的开发商 Anthropic 提出。开发者可以根据 MCP 规范实现一些服务 (server)，然后模型可以通过这些服务获取额外的能力和上下文，比如使用网络搜索、操控外部浏览器等等。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MjM5ODYwMjI2MA==&mid=2649792201&idx=1&sn=c2fc70c76233d2551484405021dc5726&chksm=bfa82012357eb1e74a06b747ba8f79ddd3448958cc046730f3c6699db34ad032a6a40b34c451&mpshare=1&scene=1&srcid=0329V4EPu92TJJRqTE6o9TfB&sharer_shareinfo=d844a10c77b90dcd2f4853ebdb8219f3&sharer_shareinfo_first=d844a10c77b90dcd2f4853ebdb8219f3">“聊天式编程”让代码听你的话：Cursor 打造极致心流体验</a>: 最近半年深度体验了 Cursor，享受到了很多乐趣，这篇文章将分享对于 Cursor 的一些实践与思考。</li><li><a href="https://juejin.cn/post/7485296558466400275">闲谈丨一名 AI 体验者的自述</a>: 这篇文章是一名 AI 体验者的自述，分享了 AI 技术对其生活和工作的深刻影响，以及如何通过 AI 提升效率、解决问题。同时文章也探讨了 AI 的局限性以及如何正确使用 AI 的思考方式。</li><li><a href="https://juejin.cn/post/7485264912416653323">Android 使用 Edge-to-Edge 实现沉浸式状态栏详解</a>: 在 Android 中实现 Edge-to-Edge 布局（内容延伸到状态栏和导航栏下方）并适配不同版本、刘海屏&#x2F;挖孔屏设备，需要综合处理系统栏的显示、颜色、安全区域和兼容性问题。以下是分步骤的完整实现方案</li></ol><h2 id="书籍推荐"><a href="#书籍推荐" class="headerlink" title="书籍推荐"></a>书籍推荐</h2><h3 id="Android-性能优化之道"><a href="#Android-性能优化之道" class="headerlink" title="Android 性能优化之道"></a>Android 性能优化之道</h3><p>这是一套从 Android 性能优化本质入手，指导读者实现从硬件层到操作系统层再到应用层全面优化的实战方法论。本书由 Android 方向 Google 开发者专家撰写，融合了作者 10 年大厂实战经验，其中不仅包括作者实操过的监控、优化、防劣化等方向的各种典型案例，还包括多个实战小技巧，可以帮助读者解决工作中遇到的 90%以上的能优化问题。 本书内存、速度和流畅性、稳定性、包体积、耗电、磁盘占用、流量、降级这 8 个方向的性能优化内容。这些内容方向均从原理和实战两个维度进行解读。其中，原理部分直指优化的本质，不仅包括相关基础知识，还包括性能优化的底层逻辑；实战部分以指导读者实操为主要目标，以案例为主要讲解形式，深度解读作者精心总结的各种实战案例中用到的技术和原理。本书基于 Android 14 撰写，但也会涉及 Android 14 以外的其他 Android 版本的源码。 </p><p><img src="/images/Weekly#49/img_00_5b19de47.jpg" alt="image"></p><p>jd：<a href="https://item.jd.com/10139251977728.html">Android 性能优化之道</a></p><h3 id="打通-Linux-操作系统和芯片开发"><a href="#打通-Linux-操作系统和芯片开发" class="headerlink" title="打通 Linux 操作系统和芯片开发"></a>打通 Linux 操作系统和芯片开发</h3><p>为什么选择写打通操作系统和芯片开发的内容？我们知道计算机是个变化极快的行业，特别是从事互联网行业的朋友，经常面对技术的更新，开发语言的迭代，每天过的都很焦虑，随着新人的入职，技术的变化，老人的技术经验似乎无法得到发挥，这也是为什么都说程序员有 35 岁失业的根本原因。那么技术更新不那么快的行业是不是就好点了呢？的确如此，比如更加底层的嵌入式行业，操作系统行业，芯片行业等都会比互联网行业好很多，特别是同时懂软件和硬件的工程师，甚至随着时间的推移，越老越吃香，而且国家越来越重视底层技术的开发。即便是在互联网行业，如果你对底层技术有着深厚的积累，依然可以很有竞争力，就相当是拥有了武侠片中的内功，一旦有了雄厚的内功，其它武功你一看就明白，一学就会，任何招式你和别人打出去的威力就不是一个级别。这种帮助无论对嵌入式开发者，还是对互联网程序员都是非常明显的。</p><p><img src="/images/Weekly#49/img_01_e9702de8.jpg" alt="image"></p><p>jd：<a href="https://item.jd.com/14954302.html">打通 Linux 操作系统和芯片开发</a></p><h2 id="鸡血"><a href="#鸡血" class="headerlink" title="鸡血"></a>鸡血</h2><p><img src="/images/Weekly#49/img_02_4a1cf40a.jpg" alt="image"></p><h2 id="星球"><a href="#星球" class="headerlink" title="星球"></a>星球</h2><p>满 500 人了，顺便打个广告。这段时间忙完了，开始要系统性输出了～ 也欢迎加入星球的同学预约一起看 Trace ～</p><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#100;&#x72;&#x65;&#x61;&#109;&#116;&#x61;&#x6c;&#101;&#x2e;&#106;&#x67;&#x40;&#x67;&#109;&#97;&#x69;&#108;&#46;&#x63;&#111;&#x6d;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png" alt="image"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG" alt="image"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-49&quot;&gt;&lt;a href=&quot;#Android-Weekly-49&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #49&quot;&gt;&lt;/a&gt;Android Weekly #49&lt;/h1&gt;&lt;h2 id=&quot;技术文</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #48</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-03-16-Android-Weekly-48/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-03-16-Android-Weekly-48/</id>
    <published>2025-03-15T16:00:00.000Z</published>
    <updated>2025-03-15T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-48"><a href="#Android-Weekly-48" class="headerlink" title="Android Weekly #48"></a>Android Weekly #48</h1><blockquote><p><strong>Android Weekly</strong> 是一份专注于 Android 技术生态的周刊，每周一更新。本周刊深入挖掘 Android 系统架构、性能优化、跨平台开发、AI 等领域的高质量技术内容，为开发者提供持续的知识更新与技术洞察。  </p></blockquote><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NzcwMTUwNQ==&mid=2247483862&idx=1&sn=8074f585a43693b9c9e9a807fcbe1066&chksm=c233911d49995a6ef856b57b99b264be15460eec42be8f8b2e6a892c7ccba42c07fad8e6f2ea&mpshare=1&scene=1&srcid=0311oHrcsw5TYKHwjcBKBbxj&sharer_shareinfo=710b7fbec006a714222c5d7f0464a933&sharer_shareinfo_first=710b7fbec006a714222c5d7f0464a933">记录笔者修复的 userfaultfd_move 的一个内核 bug</a>: 本文记录了作者修复 userfaultfd_move 内核中的一个 bug，该 bug 源于在处理 swap entry 时未考虑到 swapcache 中的 folio，导致 mapping 和 index 未对齐，进而引发内核故障。作者提出的修复方案是在处理 swap entry 时检查 swapcache 并更新其 mapping 和 index，此修复已合入 v6.14-rc6 及其他稳定版本。</li><li><a href="https://mp.weixin.qq.com/s/B1imUDz4oyerIC6u0oe0hg">系统调用 sync、fsync 和 fdatasync 的区别</a>: 本文探讨了 UNIX 系统调用 sync、fsync 和 fdatasync 的区别。sync 函数将所有修改过的缓冲区排入写队列但不等待实际写入完成；fsync 函数确保特定文件的修改内容同步到磁盘并等待操作完成，适用于需要高一致性的场景；而 fdatasync 仅同步文件的数据部分，减少不必要的元数据同步，从而提高效率。特别是在日志文件写入中，通过固定文件大小使用 fdatasync 可以显著提升性能。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkxNTE3ODU0NA==&mid=2247538237&idx=1&sn=47a37918d6e1a0123644ea690f7bdaad&chksm=c0d29c0418bf7f9ddba8d466ff08b05055eee51cf76e468aa922f824c944e440b0113f40e492&mpshare=1&scene=1&srcid=0312brWETh7J8d4u7VumxqKM&sharer_shareinfo=27233fc0daa6ae0d4085cab3fbc4739d&sharer_shareinfo_first=27233fc0daa6ae0d4085cab3fbc4739d">得物 Android Crash 治理实践</a>: 本文详细介绍了得物团队在治理 Android 系统崩溃问题中的实践经验，包括 DNS 解析崩溃、MediaCodec 状态异常崩溃、多线程环境崩溃及小米 Android15 焦点处理空指针崩溃等问题的背景、分析及解决过程。通过这些治理措施，得物显著降低了崩溃率，并为类似问题提供了技术参考。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247493310&idx=1&sn=b13247504afdeeed17e9c16afaee7d2b&chksm=cfb2337bb6bba37424661a1ce7a5395ba1658e28da8dfb5166f771eb6b7740cf5d67ccec7756&mpshare=1&scene=1&srcid=0313t6SR5GZXAdWjVCn1cajc&sharer_shareinfo=8a9995fc9d8cd59e45b19da784703903&sharer_shareinfo_first=8a9995fc9d8cd59e45b19da784703903">Flutter 小技巧之通过 MediaQuery 优化 App 性能</a>: Flutter 小技巧之通过 MediaQuery 优化 App 性能，文章介绍了如何合理使用 MediaQuery 来优化 Flutter 应用的性能，特别是在多页面场景下减少不必要的 rebuild 开销。通过将 MediaQuery 的使用位置调整到 Scaffold 内部，或使用 MediaQuery.propertyOf 系列方法，可以有效降低性能损耗。此外，文章还提到从 Flutter 3.10 开始，使用 View.of(context) 替代传统的 WidgetsBinding.instance.window 以适应多 FlutterView 场景。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk2NDY3MzYxOQ==&mid=2247483660&idx=1&sn=01678120556ac472e4256efbcc6c9331&chksm=c59c0fe7f041a99a966e617699ff2592343648d5e0c91aa38625971c1a1c352bd58f8fd26e07&mpshare=1&scene=1&srcid=0314XCGkQt41TtvlHNGBFDHp&sharer_shareinfo=f6caff951017a5d6325befc3ca2e79e8&sharer_shareinfo_first=396366e7475e3f58bd289c4b33190000">Koin: 由开发者打造，为开发者服务</a>: Kotzilla 宣布其官方微信公众号上线，旨在为中国开发者提供 Koin 和 Kotlin 的中文学习资源。Koin 是一个轻量级的依赖注入框架，已被全球 35 万款移动应用采用，具备 DSL 声明式注入、模块化组织、作用域管理等核心功能。Kotzilla 由 Koin 创始人创立，专注于 Kotlin 开发工具，并成为 Kotlin 基金会的银级成员。该公司推出的 Kotzilla 平台支持实时性能监测和依赖分析，全面兼容 Kotlin 多平台项目，并提供 Koin 的长期支持版本 (LTS)，确保技术升级的稳定性。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxMDM0NjExNA==&mid=2247495957&idx=1&sn=f12b795a23792314fcb7eb4c70315a8c&chksm=9a1d1c2aca6ca07424dcef1f5519ce5839b7545484412ffe2e49e182c28fe254018dbde4dea3&mpshare=1&scene=1&srcid=03143O8wZeZUzQ2mjNB4gUKu&sharer_shareinfo=f3f5f5511149b419ad7d1eafe7186435&sharer_shareinfo_first=f3f5f5511149b419ad7d1eafe7186435">Weaver - 基于安全硬件的锁屏密码方案</a>: Android 平台上，GateKeeper+KeyMint 是一种常见的密码解锁方案，基于仅用户知道的密码保护用户的数据。Weaver 是一种基于 Secure Element 等防篡改硬件，旨在增强密码保护用户数据的解决方案，提供了 device-off security threat model 和 brute force password guessing 两个关键特性。device-off security threat model：当设备关闭电源时，用户身份验证和磁盘加密依赖的 secret 存储在安全芯片中，必须使用用户 LSKF (pin&#x2F;pattern&#x2F;password)才能获取到该值。brute force password guessing：通过安全芯片内部的安全计时器防止攻击者通过暴力破解的手段推演出用户密码。</li><li><a href="https://juejin.cn/post/7481608730070564904">Android JankStats 实现解析</a>: JankStats 是安卓 JetPack 里新出的一个专门用来检测帧卡顿的库。并且支持各个安卓版本。我们来分析一下他的实现。</li><li><a href="https://androidweekly.net/issues/issue-666">Android Weekly Issue #666</a>: Android Weekly Issue #666</li><li><a href="https://juejin.cn/post/7481167019646124041">Android 启动框架 EasyLaunch</a>: 这是一个 Android 的启动开源框架, 用于在启动过程中将任务并行, 达到优化启动速度的目的.</li><li><a href="https://juejin.cn/post/7481177255957545000">彻底搞清 Flow+MVVM+Retrofit+OKHTTP 框架</a>: 本文主要介绍了 Flow 的基本使用方法，结合了 Flow+MVVM+Retrofit+OKHTTP 框架，能够带你理解 Flow 在 ViewModel，Repository，切换线程等方面的细节 。</li><li><a href="https://juejin.cn/post/7481130196911276070">深入探索 Android Bitmap：从原理到实战</a>: 从功能角度来讲，Bitmap 在 Android 开发中就像是一个 “图像容器”，承载着图像的像素信息，凭借它，开发者能够在应用中轻松实现加载、显示和处理图像的操作。通过 Bitmap 类，开发者可以创建图像对象，在屏幕上展示或者对其进行更深入的处理，诸如缩放、裁剪、旋转等常见的图像操作，都可以借助 Bitmap 来完成。例如，在一个图片编辑应用中，用户可以通过 Bitmap 对图片进行裁剪，选择自己喜欢的部分进行保留；也可以对图片进行旋转，调整到合适的角度；还能对图片进行缩放，使其适应不同的屏幕尺寸。在一个社交应用中，用户上传的照片可能需要进行压缩和裁剪，以适应服务器的存储和传输要求，这时候就可以使用 Bitmap 来实现这些操作。</li><li><a href="https://medium.com/androiddevelopers/now-in-android-114-bf1416b5f5ae">Now in Android #114</a>: 谷歌 I&#x2F;O 2025 将于 5 月 20-21 日举办，重点展示 Android、AI 等技术更新；Android Studio 庆祝十周年，回顾其发展历程；Android 16 Beta 推出适配大屏幕的自适应应用、进度通知等新特性；Firebase 集成生成式 AI 模型（如 Gemini 和 Imagen），支持 AI 驱动的用户体验；Google Play 推出“已验证”徽章提升应用安全性；Wear OS 推出儿童应用体验；TrustedTime API 提供可靠时间戳，AndroidX 也发布多项更新。</li><li><a href="https://android-developers.googleblog.com/2025/03/the-third-beta-of-android-16.html">The Third Beta of Android 16</a>: Android 16 Beta 3 已达到平台稳定性，开发者可立即将面向 Android 16 的应用推送至 Play 商店。本次更新包括新安全和辅助功能，如 Auracast 广播音频支持、轮廓文本增强对比度、局域网保护测试功能，以及多项开发者需关注的行为变化。</li><li><a href="https://android-developers.googleblog.com/2025/03/multimodal-image-attachment-now-available-gemini-android-studio.html">Multimodal image attachment is now available for Gemini in Android Studio</a>: Android Studio 的 Gemini 功能现已支持多模态图像附件，开发者可以直接将图片附加到提示中，提升团队协作和 UI 开发工作流程。此功能支持将简单线框图或高保真设计转换为 Jetpack Compose 代码，并可用于快速原型制作、UI 调试以及图表文档化。</li><li><a href="https://juejin.cn/post/7481117237729427456">Android 开机动画修改指南</a>: 本文详细介绍了 Android 开机动画的修改指南，包括开机动画文件路径、文件结构、加载和播放动画帧、动态颜色特性及调试技巧等内容。文中对相关代码进行了深入解读，并提供了具体的操作步骤和注意事项。</li><li><a href="https://medium.com/androiddevelopers/unit-testing-lifecycle-and-state-in-viewmodels-9d406c08cbd7">Unit Testing Lifecycle and State in ViewModels</a>: 文章介绍了 ViewModelScenario，这是 Lifecycle 2.9.0-alpha01 引入的工具，用于简化 ViewModel 的单元测试。它解决了直接通过构造函数测试 ViewModel 的局限性，支持触发 ViewModelStore.clear() &#x2F; ViewModel.onCleared() 以及模拟实例状态的保存与恢复（包括序列化）。通过 ViewModelScenario.recreate()，可以验证 SavedStateHandle 数据的正确保存与恢复，同时支持 Kotlin Multiplatform (KMP)。开发者可通过新 API 更高效地测试 ViewModel 的生命周期和状态管理。</li><li><a href="https://android-developers.googleblog.com/2025/03/building-excellent-games-with-better-graphics-and-performance.html">Building excellent games with better graphics and performance</a>: 安卓开发者博客宣布 Vulkan 成为安卓官方图形 API，支持光线追踪和多线程以提升游戏画面，同时通过 ANGLE 兼容 OpenGL；安卓动态性能框架（ADPF）升级，与 MediaTek 合作优化性能，延长游戏时长并提高稳定性；Play Console 新增低内存杀手（LMK）功能，帮助开发者监控内存问题；此外，还推出 PC 游戏移植到移动端的试点计划，简化开发与发布流程，推动更多 PC 游戏加入安卓生态。</li><li><a href="https://juejin.cn/post/7481116406745104438">鸿蒙（HarmonyOS）性能优化实战-SmartPerf-Host 分析应用性能</a>: SmartPerf-Host 是一款深入挖掘数据、细粒度展示数据的性能功耗调优工具，可采集 CPU 调度、频点、进程线程时间片、堆内存、帧率等数据，采集的数据通过泳道图清晰地呈现给开发者，同时通过 GUI 以可视化的方式进行分析。该工具当前为开发者提供了五个分析模板，分别是帧率分析、CPU&#x2F;线程调度分析、应用启动分析、TaskPool 分析、动效分析。关于工具使用的更多内容可查看 SmartPerf-Host 调优工具使用指导。本文提供一些性能分析示例，介绍如何使用帧率分析和应用启动分析两个模板采集数据、分析数据，从而发现性能优化点。</li><li><a href="https://juejin.cn/post/7481131027268681743">Android 子线程更新 View 的方法原理</a>: 本文详细解析了 Android 子线程更新 View 的原理，探讨了 View 更新必须在 UI 线程进行的原因，并提供了多种子线程更新 View 的方法，包括基于独立渲染体系以及基于 ViewRootImpl 渲染体系的实现方式。</li><li><a href="https://bbs.kanxue.com/thread-286006.htm">[原创]某加固 onCreate 的 vmp 分析</a>: 本文分析了某加固应用的 onCreate 函数实现，利用拦截 JNI 注册函数和 Stalker 跟踪寄存器 x8 的变化，定位关键函数及其调用流程。通过 IDA 动态调试，找到 VMP 解释器和加密 opcode，并针对反调试机制（如 SIGTRAP 信号）提出对抗策略，最终揭示加固逻辑和解密过程。</li><li><a href="https://android-developers.googleblog.com/2025/03/jetpack-windowmanager-14-is-stable.html">Jetpack WindowManager 1.4 is stable</a>:</li><li><a href="https://zhuanlan.zhihu.com/p/29453496671">深入理解 Linux 内存优化：如何使用屏障提升性能</a>: 本文深入探讨了 Linux 内存优化中的内存屏障机制，详细分析了其原理、类型、功能以及在多核处理器、设备驱动开发、RCU 机制中的应用，并提供了使用注意事项与性能优化建议。</li><li><a href="https://zhuanlan.zhihu.com/p/29179779105">技术简报 2025 第三期</a>: 本期收集一下各种有意思的软件图，用来看看别人如何图形化展示一个东西。一起体会软件架构的结构美感</li><li><a href="https://juejin.cn/post/7480401080741298202">鸿蒙（HarmonyOS）性能优化实战-启动分析工具 Launch Profiler</a>: DevEco Studio 内置 Profiler 分析调优工具。其中 Launch 主要用于分析应用或服务的启动耗时，分析启动周期各阶段的耗时情况、核心线程的运行情况等，协助开发者识别启动缓慢的原因。此外，Launch 任务窗口还集成了 Time、CPU、Frame 场景分析任务的功能，方便开发者在分析启动耗时的过程中同步对比同一时段的其他资源占用情况。</li><li><a href="https://zhuanlan.zhihu.com/p/29449785427">simpleperf 的使用技巧</a>: Simpleperf 工具不仅在性能分析领域具有重要作用，还在日常调试中展现了广泛的用途，例如跟踪应用被杀或退出、监控库函数调用、分析内核调用函数以及跟踪 Binder 调用过程等，为开发者提供了强大的调试支持和灵活的应用场景。</li><li><a href="https://juejin.cn/post/7480156828015017994">Kotlin 的协程，真能提升编程效率么？</a>: Kotlin 协程能通过其结构化并发特性优化代码，提升编程效率。文章主要讨论协程在 Android 开发中的两大应用场景：消灭对称式 API 和回调式 API。通过协程的挂起函数和生命周期管理，开发者可以简化代码逻辑、减少错误风险并提升代码质量。</li><li><a href="https://zhuanlan.zhihu.com/p/29222428350">谈“一切皆文件”的哲学</a>: 这篇文章探讨了 Linux 系统中“一切皆文件”的哲学理念，详细分析了文件句柄（File Descriptor, FD）的抽象本质、分类及其在系统资源管理中的应用。文章还介绍了实现新文件类型的步骤，并解释了文件句柄在多进程间共享的机制。</li></ol><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><ol><li><a href="https://mp.weixin.qq.com/s/W4NNKOv01tQroNqbJIZKtw">我喜欢 Notion 公司的两个信条</a>: 这篇文章通过对 Notion 创始人 Ivan Zhao 的访谈，详细探讨了他的创业经历、产品理念、公司文化以及对工具与人类潜能关系的深刻思考。文章还揭示了 Notion 从早期挣扎到如今成功的关键转折点，以及 Ivan 对于软件设计美学和技术哲学的独特见解。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4NjAxNjY4Nw==&mid=2650240220&idx=1&sn=bac32dd2a178c64026b82f6320b20f53&chksm=f2b9febb925491cf52589f27a8f3f763b3cc76ca83e88285022ab07e8df22282a49ea674a022&mpshare=1&scene=1&srcid=0314uE7h4W9JbMkh5iCzSwjP&sharer_shareinfo=1633ae33adaef5f1e86d886f0d330831&sharer_shareinfo_first=1633ae33adaef5f1e86d886f0d330831">科技爱好者周刊#341：低代码编程，恐怕不会成功</a>: 这里记录每周值得分享的科技内容，周五发布。</li><li><a href="https://world.hey.com/xiaowen/post-e36cc216">专栏：管理不是派个活 - 管理和管理不一样。</a>: 管理工作分为专业管理和组织管理，两者需要完全不同的技巧，专业管理注重提升组织能力，组织管理则关注构建高效协作环境，而优秀的管理能带来规模效应，推动团队指数级成长。</li></ol><h2 id="AI"><a href="#AI" class="headerlink" title="AI"></a>AI</h2><ol><li><a href="https://mp.weixin.qq.com/s?__biz=MzI5ODk5ODI4Nw==&mid=2247553129&idx=2&sn=b096969e9b11351ee311f13f4cb15c1b&chksm=ed4dcaeea8eed4db84fd7e26c9216b026b402f2de5aa869c09b82f22cc5e1666c3803f56a84f&mpshare=1&scene=1&srcid=0311AblXeZcZnhw5hMg3o7xI&sharer_shareinfo=38ca43ce0163ec0a3d17cf759565d2af&sharer_shareinfo_first=65f12cd27132058e786435d42b931d6c">AI 代理可观测性 - 演变标准与最佳实践</a>: 本文探讨了 AI 代理的可观测性及其重要性，特别是在 2025 年 AI 代理成为人工智能领域的重要趋势时。文章详细介绍了 AI 代理的定义、现状、标准化语义约定的建立以及插桩方法的优缺点，同时展望了 AI 代理可观测性的未来发展方向。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MjM5NDkwOTEyMQ==&mid=2651664700&idx=1&sn=e3e9340cb42e21777f8880ead3a04c2a&chksm=bc82e8955953bffddf0194e1f02ea40cf81c0c62022755eaa471171e0efb961e91a7ca315cb8&mpshare=1&scene=1&srcid=0311D8fJcIsgsUEx3dSEBdwf&sharer_shareinfo=1aeb72c700601f523e520ca2e0164378&sharer_shareinfo_first=1aeb72c700601f523e520ca2e0164378">【社区说-回顾】全方位 360° 讲解 Gemini 2.0，我家的猫真会后空翻</a>: 为了帮助大家更好地了解和掌握 Gemini2.0 的使用技巧，GDG 社区在 2.27 晚上 7 点在线上举办了「社区说」分享活动，邀请多位资深的 AI 开发专家，从不同角度为大家解读 Gemini 2.0 的最新变化和开发技巧。本文将带领大家详细回顾此次活动特约嘉宾们的精彩分享。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzIzNjE2NTI3NQ==&mid=2247489654&idx=1&sn=6e3820486124182688ebfeb296b395af&chksm=e933ade78907c108f8ca19416a225107a2679c2882d7a88366c8ad812d738da54c647ba740fb&mpshare=1&scene=1&srcid=03124z9ByYy482nSTotR3dqO&sharer_shareinfo=d954468b273c8f291c5eba01e555ea2d&sharer_shareinfo_first=d954468b273c8f291c5eba01e555ea2d">浅谈 Agent、MCP、OpenAI Responses API</a>: 浅谈 Agent、MCP、OpenAI Responses API，文章介绍了 AI Agent、MCP（模型上下文协议）和 OpenAI 最新推出的 Responses API 的功能及应用场景，分析了相关技术的演进与挑战，并展示了开发者如何利用这些工具构建智能体以完成复杂任务。</li><li><a href="https://openai.github.io/openai-agents-python/">OpenAI Agents SDK</a>: OpenAI Agents SDK 是一个轻量级且易用的软件开发工具包，用于构建基于代理的 AI 应用。它提供了一些简单的原语，如代理（Agents）、交接（Handoffs）和防护措施（Guardrails），并支持复杂的工具和代理关系表达。该 SDK 具有内置的追踪功能，便于可视化、调试和优化工作流，同时支持模型微调。主要设计原则是功能足够强大但学习曲线平缓，开箱即用且高度可定制。</li><li><a href="https://www.zhihu.com/question/14321968965/answer/119354825165">Manus 发布一天后迅速出现 OpenManus、OWL 等复刻项目，怎么做到的？</a>: Manus 是一款通用的 AI 智能体产品，从用户示例中展示了卓越的用户体验，整体交互给人感觉很不错。但从技术方案上来说，Manus 使用了大量的业内共识的核心基础技术。在那天晚饭过程中，我们讨论了 Manus 的产品形态和技术路线，然后我们整体使用了三个小时左右的时间，开发出来 OpenManus 这个开源项目。</li><li><a href="https://rolen.wiki/some-practices-and-thoughts-on-ai-2/">关于 AI 的一些实践和思考（2）</a>: 这两天在高强度地进行编程，用 cursor 或者直接在聊天窗口跟不同的 AI 模型对话，解决了同事在业务上的一个问题，将大部分时间用自动化的方式解决，提升了 30 倍的效率，非常有成就感，我也在编程中获得了一些洞见和小启发：</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NDIwMTExNw==&mid=2247596252&idx=1&sn=c8d4d68e017d2dde1ccf7020ccd63657&chksm=c32b742ef45cfd38d10cfaa01d1a59bcd3a1405a7bb92c0e3e69a8c44dab70adfff572d145b7&scene=58&subscene=0#rd">Gemma 3 发布：巅峰性能，单 GPU&#x2F;TPU 即可运行</a>: 我们在全球推出 Gemma 3，一系列基于 Gemini 2.0 模型同源技术打造的轻量级、先进开放模型。它们是 Google 迄今为止在性能、可移植性和社会责任方面表现最出色的开放模型。Gemma 3 专为设备端高效运行而设计，让手机、笔记本或工作站都能轻松驾驭，助力开发者随心打造 AI 应用。Gemma 3 提供 1B、4B、12B 和 27B 等多种规格，适合不同的硬件和性能需求。</li></ol><h2 id="招聘信息"><a href="#招聘信息" class="headerlink" title="招聘信息"></a>招聘信息</h2><ul><li>联系方式：13928007488</li><li>待遇：50-100 年包，优秀的可以谈股票</li></ul><h3 id="Linux-内核-1-个-–T3-T4-珠海-广州-西安-深圳"><a href="#Linux-内核-1-个-–T3-T4-珠海-广州-西安-深圳" class="headerlink" title="Linux 内核 1 个 –T3&#x2F;T4 珠海&#x2F;广州&#x2F;西安&#x2F;深圳"></a>Linux 内核 1 个 –T3&#x2F;T4 珠海&#x2F;广州&#x2F;西安&#x2F;深圳</h3><p>【岗位职责】</p><ol><li>负责 Kernel 体系架构、调度、内存管理、文件系统、电源等内核功能问题解决和需求开发；</li><li>主导各类底层稳定性问题的攻关，如：定屏、死机、系统奔溃、异常重启等；</li></ol><p>【任职要求】</p><ol><li>计算机软件、通信、电子相关专业本科以上学历，5 年以上 Linux 内核&#x2F;驱动相关经验；</li><li>熟悉 Linux 内核和驱动开发，对调度&#x2F;内存&#x2F;存储 IO&#x2F;电源&#x2F;中断&#x2F;时钟&#x2F;同步&#x2F;驱动模型等多个子系统有深刻理解者优先；</li><li>熟悉常见的内核分析工具和方法，具备 2 年以上 Android&#x2F;Linux 平台性能&#x2F;功耗&#x2F;稳定性等疑难问题分析处理经验者优先；</li><li>熟悉 C&#x2F;C++, Arm assembly, operating system；</li><li>良好的沟通能力和团队合作精神</li></ol><h3 id="Linux-系统-1-个：T3-T4-珠海-广州-西安"><a href="#Linux-系统-1-个：T3-T4-珠海-广州-西安" class="headerlink" title="Linux 系统 1 个：T3&#x2F;T4 珠海&#x2F;广州&#x2F;西安"></a>Linux 系统 1 个：T3&#x2F;T4 珠海&#x2F;广州&#x2F;西安</h3><p>【岗位职责】</p><ol><li>负责统筹 Linux 方案框架设计和集成调试,负责系统级应用的框架设计和子模块功能定义；</li><li>负责各子系统间（音视频&#x2F;input&#x2F;显示等）对接和调优，承担系统级问题的排查和解决；</li><li>承担 Linux 方案技术经理职责，统筹方案规格的落地和技术攻关；</li></ol><p>【任职要求】</p><ol><li>拥有 5 年以上 Linux 开发经验，承担 Linux 方案架构师或技术经理或相当职位 2 年以上；</li><li>至少熟悉 Linux 类 OS（Debian&#x2F;Ubuntu&#x2F;Fedora&#x2F;OpenHarmoy）中的一种,有参与系统应用开发经验者优先；</li><li>了解 Socket、pipe、binder 等进程通信机制，有参与开发经验者优先；</li><li>熟悉多个 Linux 子系统（显示&#x2F;编解码&#x2F;UI&#x2F;camera&#x2F;input&#x2F;休眠&#x2F;功耗等），有上述 3 个以上经验者优先；</li><li>具备良好的团队合作和沟通能力，拥有一定的抗压能力应对突发问题。</li></ol><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#x64;&#x72;&#x65;&#x61;&#109;&#x74;&#97;&#x6c;&#x65;&#46;&#x6a;&#x67;&#64;&#103;&#x6d;&#97;&#x69;&#x6c;&#x2e;&#x63;&#x6f;&#109;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-48&quot;&gt;&lt;a href=&quot;#Android-Weekly-48&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #48&quot;&gt;&lt;/a&gt;Android Weekly #48&lt;/h1&gt;&lt;blockquote</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #47</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-03-10-Android-Weekly-47/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-03-10-Android-Weekly-47/</id>
    <published>2025-03-09T16:00:00.000Z</published>
    <updated>2025-03-09T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-47"><a href="#Android-Weekly-47" class="headerlink" title="Android Weekly #47"></a>Android Weekly #47</h1><blockquote><p><strong>Android Weekly</strong> 是一份专注于 Android 技术生态的周刊，每周一更新。本周刊深入挖掘 Android 系统架构、性能优化、跨平台开发、AI 等领域的高质量技术内容，为开发者提供持续的知识更新与技术洞察。  </p></blockquote><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxMTI4MTkwNQ==&mid=2650854558&idx=1&sn=cb72530f37b2b7980866a9ad6a74e090&chksm=8102e0a89c64d25e11f3ddd4d60f4403a40153434507eda47fd1962ad8166ec66d7d99bf4ffd&mpshare=1&scene=1&srcid=0303JxCAA5kcqL3kvgHiCD4M&sharer_shareinfo=010ab8571c8e3e6c1fa3bc9d8c682d67&sharer_shareinfo_first=010ab8571c8e3e6c1fa3bc9d8c682d67">Android× 鸿蒙 ×AI 技术周刊 - 第 1 期</a>: 周刊的主题为：Android、鸿蒙、AI 相关的科普、技术文、开源项目、近期热点等。</li><li><a href="https://blog.csdn.net/weixin_40317531/article/details/145787079">播放器系列 1——总概述</a>: 这篇文章主要讨论了一个播放器项目的核心架构及其实现细节，包括文件读取、解复用、音视频解码、渲染、音效处理以及音视频同步等模块的实现方法，涉及到的技术工具包括 FFmpeg、SDL、QML 等。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk3NTA0NjcyMw==&mid=2247483689&idx=1&sn=cfbf0dd8f96149ed1d9c77467e658634&chksm=c544c79611a948b807ffe32377515c7fe59acd571b11174c6987c97a6908639e7be2a3c1ee31&mpshare=1&scene=1&srcid=0303L4gXe8EQJSTsyxqxoOqP&sharer_shareinfo=1f75ea2995a422e3c77f5cf85443b111&sharer_shareinfo_first=443171f07d9e308d427f7971a29f201d">移动 OS 设计之性能设计 1 - 应用程序与 OS 之间的边界思考</a>: 移动操作系统设计之性能设计：应用程序与操作系统的边界探讨</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA4MDAxMzQxNw==&mid=2447633254&idx=1&sn=0ec2b63de71a3dd4e17e87bb8548af8b&chksm=8a3b8028acfa0f9c36f70670003c993c8eb3f5a889f5d510f1bdb0c4be49890cd32023e3f457&mpshare=1&scene=1&srcid=0303L5HLBL8CoxNwCguYMQg0&sharer_shareinfo=e1f2e57688de14618b66363c58dd4106&sharer_shareinfo_first=91a997935cac81c3cd1e63bf811f635b">记 Android12 上一个原生 BUG 引起的系统重启</a>: 文章分析了 Android 12 系统中一个原生 BUG，该 BUG 在特定的手势操作下会导致系统重启。通过日志分析、代码阅读和复现问题，作者详细探讨了该问题的原因，并指出是因为事件处理过程中 Java 层和 Native 层的异常处理逻辑不一致，导致同一事件触发了两次 sendFinishedSignal。最后提到谷歌已经修复了该问题。</li><li><a href="https://androidweekly.net/issues/issue-664">https://androidweekly.net/issues/issue-664</a>: Android Weekly Issue #664</li><li><a href="https://juejin.cn/post/7477147173537366068">深入聊聊 Flutter 里最接近官方的热更新方案：Shorebird</a>: 本文深入探讨了 Flutter 的热更新方案 Shorebird。介绍了其作为 Flutter 前创始人的商业项目，是最接近 RN code push 的存在。阐述了其实现方式，包括对 Flutter Engine 和 Dart VM 的“魔改”，通过下发“二进制”patch 文件实现热更新，Android 和 iOS 平台的不同表现及原理，还提及了局限和优势，如不能更新 Native 代码、不支持跨版本等，但其版本跟进快，退出机制几乎无损。</li><li><a href="https://juejin.cn/post/7477120450407071782">揭开 Android View 的神秘面纱：深入探索工作原理</a>: 这篇文章深入探讨了 Android View 的工作原理，包括架构基础、测量、布局、绘制、事件分发机制等环节，还介绍了自定义 View 的常见类型和实战应用，并对其工作原理进行了总结回顾与未来展望，提及新技术如 Kotlin、Jetpack Compose 对 View 开发的影响及发展趋势。</li><li><a href="https://proandroiddev.com/get-user-location-on-android-using-fused-location-provider-and-jetpack-compose-3403b2e72c09">Comprehensive Guide: Get User Location on Android with Jetpack Compose</a>: 通过本文，作者详细介绍了如何在 Android 中使用 Google 的融合位置提供程序（Fused Location Provider）与 Jetpack Compose 来获取用户位置。文章涵盖了融合位置提供程序的优势、权限处理、位置请求参数设置，以及通过回调接收位置更新的完整实现，并提供了一个示例应用程序的代码链接。</li><li><a href="https://developer.android.com/build/android-build-structure">Android build structure</a>: Android 项目的构建结构和文件说明，包括最佳实践和文件用途。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxNzMxNzk5OQ==&mid=2649495110&idx=1&sn=a8431d5cd1748b779a067714ce85aae7&chksm=82c809852b52c700fa04e3c9de9b6418125a791bd8d03386230eb870c439b84a65043c5a9906&mpshare=1&scene=1&srcid=0304gL3bhSVs6ZfjV0plZwRi&sharer_shareinfo=dda48e46e66d932aa38a6adce4ce4d65&sharer_shareinfo_first=dda48e46e66d932aa38a6adce4ce4d65">揭开 Flutter Slider 中 Shapes 的神秘面纱</a>: Slider 是 Flutter 中使用非常多的一个组件，通常设计师都会对 Slider 做很多的自定义设计，在 Android 中，我们其实是很难通过配置 xml 来改变 Slider 的外观的，而在 Flutter 中，我们可以很方便的组合整个实现，当然，前提是你需要对 Slider 的整体概念有个清晰的认识。</li><li><a href="https://android-developers.googleblog.com/2025/03/level-up-your-app-why-android-widgets.html?m=1&s=09">Level Up Your App: Why Android Widgets are a Game-Changer</a>: Android 开发者博客最新文章讨论了在 Android 应用中集成小部件（Widgets）的重要性以及其对应用成功的影响。</li><li><a href="https://fragmentedpodcast.com/episodes/257/">257 - Future of AndroidDev in an AI world with Vinay Gaba</a>: Join us as we talk with Vinay Gaba, Android GDE and leading voice in Android development, about the future of the field. Vinay shares insights from interviews with top Android devs on their three-year predictions, and offers his own perspective. We cover AI’s impact, evolving development roles, and crucial future skills.</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247493167&idx=1&sn=7131c29a968cc22de86880361927c96f&chksm=cf9f99ec3d7ac8f87dd4f9efa43ae286554cafca45952d24bb980c7c9d7ba90c953907b41f5c&mpshare=1&scene=1&srcid=0305uSieMUSOWAYLXGlykF7z&sharer_shareinfo=bd35ef7a916083274e3a7f549eaf098d&sharer_shareinfo_first=bd35ef7a916083274e3a7f549eaf098d">腾讯 TDF 即将开源 Kuikly 跨端框架，Kotlin 支持全平台</a>: 腾讯即将开源 Kuikly 跨端框架，该框架基于 Kotlin 开发，支持多平台开发（Android、iOS、H5、小程序、PC 等）。Kuikly 采用声明式+响应式开发模式，输出的产物映射到系统原生控件，支持动态化更新，同时具有轻量化特性。Kuikly 的核心设计是通过薄原生渲染层减少两端代码不一致的问题，显著降低开发代码量。是否完全接入 Compose MultiPlatform 仍需等待开源后确认。</li><li><a href="https://developer.arm.com/documentation/102336/0100/Memory-ordering">Memory ordering</a>: Armv8-A 架构采用弱内存排序架构，允许无依赖的内存访问以不同于程序顺序的顺序完成，从而提高处理器效率。文章重点讨论了内存重排序的行为、限制，以及如何通过屏障指令来强制排序以确保正确性。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk0Njg4MjE0Mg==&mid=2247483788&idx=1&sn=8e3ec394fdb285d11f91103bceb0d4c3&chksm=c21ccc4272f41a3ddb299b9175f41302dd38f2a27777f150c7d742b1a6b8183e254091cc01b9&mpshare=1&scene=1&srcid=0305otWFuP8bFJp12QCXygLg&sharer_shareinfo=7701517cd7f93b368884e6a59819ea3e&sharer_shareinfo_first=7701517cd7f93b368884e6a59819ea3e">再学安卓 - binder 之驱动函数 ioctl</a>: binder_ioctl 是 Binder 驱动中最核心的函数，没有之一，它负责通信两端 IPC 数据的收发以及 Binder 参数的设置。在 IPC 通信过程中，进程调用此函数执行相关命令，达成传输的目的。因此，我们单独用一篇文章的篇幅来分析它。本文内容较多，大致分为基础结构体、C 端流程和 S 端流程三部分，建议分段阅读。推荐前往掘金（PC web 端）获得更好的阅读体验。</li><li><a href="https://developer.android.com/build/tool-and-library-dependencies">Tool and library interdependencies </a>: 这篇文章详细介绍了 Android 构建系统中的工具和库之间的相互依赖关系，包括源代码、库依赖、工具、Gradle 插件、编译器、Android SDK 和 JDK 等。文章解释了语义版本控制、依赖管理、构建关系以及如何优化和扩展构建过程。</li><li><a href="https://cloud.tencent.com/developer/article/1856484">随心所动，厂商的 CPU 核管理策略介绍</a>: 随着 CPU 架构的发展，工艺的升级，带来性能提升，能效的提升（同性能下）。但是由于极限性能的增加，也带来了 peak 功耗的增加（大部分情况下，能效比的提升无法抵消这部分），CPU 功耗优化一直是广大 SOC 厂商比较头疼的问题。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkxNzUwODMzNw==&mid=2247484160&idx=1&sn=8d62ccd6c413a8108219efed22171f2d&chksm=c045ac764c297453fe6c7fb96db7d0853fd06d7246875fe48592a700e4aa0dc6d55ef162c6c6&mpshare=1&scene=1&srcid=0306wuEzWgcwNwOrnuUWxX7f&sharer_shareinfo=5d0d37467cccc8668a8ce93197ee90db&sharer_shareinfo_first=5d0d37467cccc8668a8ce93197ee90db">CPU 的分支预测</a>: 本文详细讲解了现代 CPU 中的分支预测技术，包括其重要性、基本概念、方向预测和目标地址预测的具体方法，以及相关的硬件设计，如 BTB（分支目标缓冲区）和 RAS（返回地址堆栈）。分支预测对于提高处理器性能至关重要，通过预测分支指令的方向和目标地址，可以减少流水线清空的次数，从而提高执行效率。</li><li><a href="https://blog.csdn.net/ukynho/article/details/136669719">WMS 无焦点窗口的 ANR 问题【Android 14】</a>: 这篇文章分析了 Android 14 中 WMS 无焦点窗口导致 ANR（应用无响应）的问题，详细探讨了问题的复现、原因和解决方案，并对相关日志和代码进行了深入剖析。</li><li><a href="https://outcomeschool.com/blog/dalvik-art-jit-aot">Dalvik, ART, JIT, and AOT in Android</a>: 这篇文章详细介绍了 Android 中的 Dalvik、ART、JIT 和 AOT 的概念及其演变过程，并分析了它们的优缺点以及如何通过后续优化（如 Profile-guided Compilation、ART Cloud Profiles 和 Baseline Profiles）解决相关性能问题。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk3NTA0NjcyMw==&mid=2247483694&idx=1&sn=9c2b5677cf0bbcf67f1712c28446cd80&chksm=c5ede54d58eb2c3b00017416b59a21b2365b7cbc06db6793ced3150e928fc7f2110e9ca9cb5b&mpshare=1&scene=1&srcid=0308nQN1kBamUKHq1wpTzKfm&sharer_shareinfo=dd9900e6dad8efbf032c4c51404ab02a&sharer_shareinfo_first=dd9900e6dad8efbf032c4c51404ab02a">大模型时代手机的杀手锏功能思考</a>: 大模型技术的兴起将彻底改变手机的功能和使用方式，作者提出了“杀手锏功能”的概念，即利用大模型技术提升手机的信息消化效率，使其成为整合和处理多模态信息的核心工具。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTQ4NDUyNg==&mid=2247489185&idx=1&sn=c0f18ee5006c31de53bc30c4718d05b8&chksm=c305950773ce377c59f0b34f23ff582b3cdf9f9ff042945528b7faa0a33fd2966c0aefc59c19&mpshare=1&scene=1&srcid=0309HIcjYS1CUJ4Afw9ZqSmF&sharer_shareinfo=dd97989a88611b65159ef7ff9fb529c2&sharer_shareinfo_first=dd97989a88611b65159ef7ff9fb529c2">聊一聊 Android 的消息机制</a>: 本文详细介绍了 Android 平台的消息机制，包括 Looper、Handler 和 MessageQueue 的运行原理及相互关系。通过分析源码和示意图，深入剖析了消息发送、处理、队列管理以及阻塞机制的实现方式，帮助读者理解 Android 消息机制的核心逻辑。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzUzNzg4Nzc3MQ==&mid=2247485165&idx=1&sn=b3afdee1c300560a182bce33d57df184&chksm=fb0a4a40e3a3637df1dfd21167ebd53426ede57a4dae554b1c95fd52816fef14abb583bd5052&mpshare=1&scene=1&srcid=0309Bdsg2cZ3Nuszys1pfiwQ&sharer_shareinfo=5e2aedf0eff27909970fb56aadc55fa9&sharer_shareinfo_first=5e2aedf0eff27909970fb56aadc55fa9">CS61C 系列-计算体系结构的伟大思想: 浮点数的表示 IEEE 754-Lecture 07</a>: 本文深入探讨了 IEEE 754 浮点数表示标准及其在 AI、深度学习等领域的应用，介绍了不同精度类型（FP32、FP16、BF16 等）的特性和应用场景，重点分析了低精度量化技术（如 Q4）对模型效率和性能的优化。文章还展望了未来精度技术的发展趋势，包括动态精度调度和新型数字格式。</li><li><a href="https://mailchi.mp/kotlinweekly/kotlin-weekly-449">kotlin-weekly-449</a>: kotlin-weekly-449</li><li><a href="https://juejin.cn/post/7478949354113253386">烽火连营——爆杀 Jank 闪烁卡顿</a>: 这篇文章主要探讨了预览高清图切换时出现明显闪烁卡顿的问题。分析表明卡顿由 GPU 计算、频繁 GC 等导致，提出优化策略，如用 FadeInImage 替换 AssetImage，其后台异步解码、缓存复用等特性降低了 CPU 负载和 Jank 频次。还提到若放开图片资源限制，可进行图片压缩和按需加载等优化。</li><li><a href="https://zhuanlan.zhihu.com/p/20830511690">解锁 Linux 共享内存：进程通信的极速引擎</a>: 本文详细介绍了 Linux 系统中共享内存的概念、核心原理、使用方法以及其在实际场景中的应用。共享内存是一种高效的进程间通信方式，允许多个进程通过访问同一块内存区域实现数据共享。文章还分析了共享内存的优势、常见问题及解决方案，并通过多个实际案例展示了其在多进程数据共享和实时处理中的重要作用。</li></ol><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><ol><li><a href="https://sspai.com/post/96816">ColorOS 动画曲线粗浅分析：为何有的地方怪，怪在哪里？</a>: 在体验 ColorOS 15（下文简称「c15」）的过程中，我注意到它的部分动画有一点奇怪，但当时我并没有非常深入地去理解 c15 的曲线设计意图。直到有了官方给出的图例可以参考，作为动画爱好者，我自然是来了兴趣。更加深入地思考加上每天多次刻意的动画系曲线观察，我想我应该也能将我的想法比较通俗易懂地解释出来，带大家些微窥见 c15 设计的一角。</li><li><a href="https://www.zhihu.com/question/13453534732/answer/115166055109">如何看待当前的「前端已死」的论调？</a>: 文章围绕“前端已死”的论调展开讨论，从技术发展、行业现状、AI 影响等多角度分析了前端开发的现状与未来趋势。作者认为前端并未死亡，而是进入了一个稳定发展阶段，并在 AI 时代焕发出新的生机。文章还提出了应对行业变化的策略和发展建议。</li><li><a href="https://www.piglei.com/articles/programmer-reading-list-3/">程序员阅读清单：我喜欢的 100 篇技术文章（41-50）</a>: 程序员们也许是互联网上最爱分享的群体之一，他们不仅喜欢开源自己写的软件，也爱通过写文章来分享知识。从业以来，我阅读过大量技术文章，其中不乏一些佳作。这些佳作中，有些凭借深刻的技术洞见令我深受启发，也有些以庖丁解牛般的精湛手法解释一项技术，让我读后大呼过瘾。作为“爱分享”的程序员中的一份子，我想当一次推荐人，将读过的好文章分享给大家。我给这个系列起名为 《程序员阅读清单：我喜欢的 100 篇技术文章》。</li><li><a href="https://www.hackthinking.com/weekly/2025/03-09-vol34">vol34.等待时什么都不要做，只需要等待</a>: 文章探讨了耐心等待的重要性，尤其是在现代社会中，过度干预和急于求成反而可能带来负面结果。同时，文章还涉及了人工智能代理的潜力、产品开发策略、决策瘫痪的应对方法，以及想象力与创造力的区别等内容。</li></ol><h2 id="AI"><a href="#AI" class="headerlink" title="AI"></a>AI</h2><ol><li><a href="https://ew6rccvpnmz.feishu.cn/wiki/ILO2waqXLi1EvqkuKHvcceMOnVd?fromScene=spaceOverview&s=09">一个提示词 claude 生成一个 app 的 ui&#x2F;ux</a>: 本文讨论了作者利用 Claude 生成 app 的 UI&#x2F;UX 的相关实践，分享了不同阶段的操作方法、提示词运用、与设计软件协作方式等内容。</li><li><a href="https://rolen.wiki/some-practices-and-thoughts-on-ai/">关于 AI 的一些实践和思考</a>: 这篇文章分享了作者在 AI 时代的实践与思考，探讨了 AI 如何改变生活、工作方式以及对个人成长的影响。作者通过使用生成式 AI，提升了编程、写作等多方面的效率，同时也强调了初心和好奇心的重要性，并提出构建数字资产和个人数据库的必要性。</li><li><a href="https://mp.weixin.qq.com/s/UF8Tz3VuhUA2v3ds7k53cw">【科普】程序员必看，AI 时代新协议 MCP 正在连接吞噬一切，20+资源全收录！</a>: 文章介绍了新兴的 AI 时代协议 MCP（Model Context Protocol），其核心是为 AI 模型提供标准化的上下文连接方式，类似于 USB-C 接口在硬件中的作用。文章详细阐述了 MCP 的概念、运行机制、核心组件、实际应用场景，以及相关资源和学习资料。</li><li><a href="https://mp.weixin.qq.com/s/gd0acZNBH-M6jsPPE-DVAQ">MCP 是何方神圣？——给 AI 世界装上“万能插头”的幕后大佬</a>: MCP 是 AI 世界的“万能插头”，由 Anthropic 于 2024 年底推出，旨在解决 AI 与不同数据源和工具对接的复杂性。它通过统一协议，让 AI 能轻松访问和操作各种资源，从本地文件到云端数据，极大提升了效率和功能扩展性。MCP 的四大组成部分（主机、客户端、服务器、资源库）协同工作，使 AI 能更智能地完成任务，同时保障数据安全。未来，MCP 将让普通人也能轻松指挥 AI，推动智能化生活的普及。</li><li><a href="https://zhuanlan.zhihu.com/p/25774381094">llama.cpp 源码解读–推理流程总览</a>: 本篇文章将会对 llama.cpp 在推理时的流程进行总览介绍，关于 llama.cpp 的概念介绍与 GGML（llama.cpp 框架使用的张量计算库）的相关内容见往期文章。</li><li><a href="https://ssshooter.com/the-70-problem-hard-truths-about/">70% 困境：AI 辅助开发的残酷真相</a>: 这篇文章探讨了 AI 辅助开发的现状及其局限性，提出了“70% 问题”和“知识悖论”，并分析了 AI 对不同经验水平开发者的影响。作者还分享了实际有效的 AI 使用模式，以及对未来 AI 在软件开发中角色的展望。</li><li><a href="https://quaily.com/op7418/p/aigc-weekly-111">AIGC Weekly #111</a>: Claude 3.7 和 GPT-4.5 相继发布，前者在编码和网页开发方面有显著改进，后者则提升了知识库和用户意图理解能力。Deepseek 开源周推出多项高效模型训练库，多个 AI 产品和工具更新，展示了 AI 技术的快速发展和应用潜力。</li></ol><h2 id="鸡血"><a href="#鸡血" class="headerlink" title="鸡血"></a>鸡血</h2><p><img src="/images/Weekly#47/img_00_f762c734.jpg" alt="image"></p><h2 id="书籍推荐"><a href="#书籍推荐" class="headerlink" title="书籍推荐"></a>书籍推荐</h2><p><a href="https://juejin.cn/post/7478952636206481418">《Android 性能优化之道》——从底层原理到一线实践</a>: 本书围绕 Android 性能优化展开，阐述了其重要性，包括提升程序价值和增强开发者竞争力。讲解了做好性能优化的本质，即充分合理使用硬件资源和取得收益，并从应用层、系统层、硬件层三个维度分析，还指出性能优化的难点体现在知识储备、思考角度、思考方式和优化流程。同时介绍了本书特色、主要内容、读者对象及阅读方式，涵盖内存、速度等全面优化内容，适合不同阶段读者。 </p><p><img src="/images/Weekly#47/img_01_f20619c3.jpg" alt="image"></p><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#x64;&#114;&#101;&#x61;&#x6d;&#116;&#97;&#x6c;&#x65;&#46;&#x6a;&#103;&#64;&#x67;&#x6d;&#97;&#x69;&#108;&#x2e;&#99;&#x6f;&#109;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-47&quot;&gt;&lt;a href=&quot;#Android-Weekly-47&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #47&quot;&gt;&lt;/a&gt;Android Weekly #47&lt;/h1&gt;&lt;blockquote</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #46</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-03-02-Android-Weekly-46/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-03-02-Android-Weekly-46/</id>
    <published>2025-03-01T16:00:00.000Z</published>
    <updated>2025-03-01T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-46"><a href="#Android-Weekly-46" class="headerlink" title="Android Weekly #46"></a>Android Weekly #46</h1><blockquote><p><strong>Android Weekly</strong> 是一份专注于 Android 技术生态的周刊，每周一更新。本周刊深入挖掘 Android 系统架构、性能优化、跨平台开发、AI 等领域的高质量技术内容，为开发者提供持续的知识更新与技术洞察。  </p></blockquote><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247493055&idx=1&sn=9bb2f6ccf473618cf0c1f7aa2a52116b&chksm=cf8a0a3d1531d282e7aa5d25a08e46014b11e3b890ebb875b71133bc8fa552a112e5f1227586&mpshare=1&scene=1&srcid=0224ggoQ0hCM0GlbY9R1NsH5&sharer_shareinfo=b2c57a9bf775583e1f594df2d95005e9&sharer_shareinfo_first=b2c57a9bf775583e1f594df2d95005e9">Flutter 上的 Platform 和 UI 线程合并是怎么回事？它会带来什么？</a>: Flutter 3.29 引入了一个重要调整：在 Android 和 iOS 平台上，Dart 代码将直接运行在应用的主线程上，不再单独使用 Dart UI 线程。这一变更旨在优化 Native 和 Dart 的交互性能，简化线程管理，并减少异步通信带来的问题。通过线程合并，Flutter 可以更高效地处理任务，例如文本输入和平台视图渲染，但也可能带来插件兼容性问题。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkxOTI0MTA2OA==&mid=2247492588&idx=1&sn=14442073b5a74a2411289a389895890c&chksm=c0c535fe9ca153de468cc91e45ebddc4c4f0e7c6d2c3f2db96e4ddce34bfcece6154dd1addc0&mpshare=1&scene=1&srcid=02253eUjdLIpDeEetmftn9VJ&sharer_shareinfo=5543c131449336345028242da7fb4864&sharer_shareinfo_first=5543c131449336345028242da7fb4864">秒开率从 18%到 64%，我们对小程序模拟器做了什么？</a>: 小程序是一种运行在快手生态内，无需下载安装、即用即走的轻量级应用。其中，模拟器是快手开发者所使用的工具中最核心的模块之一，但因性能问题收到开发者反馈。为此，24 年 Q2 快手启动了模拟器性能优化专项，从线上数据看：模拟器秒开率从 18%提升至 64%，FCP P90 从 4.4s 提升至 1.9s。本文详细介绍优化措施和成效。</li><li><a href="https://juejin.cn/post/7474812310444343331?share_token=d05ea57f-0290-4fd9-947f-43e3a3c0db4e">Core 文件损坏还能补救吗？有的兄弟，有的。</a>: 文章主要介绍了 core 文件损坏的相关情况及修复方法。包括 core 文件在 gdb、core-parser 上出现的问题，如截断、无法解析等，还详细阐述了通过 Fakecore 功能进行修复的步骤，如重建 linkmap、校准、重建 Fakecore 等，以及针对特殊情况如线程栈截断的处理方式。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkwNDc0MTI4NA==&mid=2247485835&idx=1&sn=d68a64c8ae0f9cd82a3cb24592be54f9&chksm=c1eda0138c53612cf32642cbdb312b3b83cd1764eea71595129b2f6f04390ce2aee5825db372&mpshare=1&scene=1&srcid=02269FoHq9ORQB07ggLTX8Un&sharer_shareinfo=b48d63113ff2e393aa81bb9a5c0c8487&sharer_shareinfo_first=b48d63113ff2e393aa81bb9a5c0c8487">Facebook 开源 Screenshot Tests for Android：视觉回归自动化测试</a>: Screenshot Tests for Android 是 Facebook 开源的一款自动化测试工具，核心功能是在 Android 设备测试过程中生成快速且确定的截图。截图可用于追踪应用界面的变化，从而有效预防视觉回归。视觉回归是指应用界面在更新后出现的不期望的视觉变化，如布局错乱、颜色不一致等问题。通过 Screenshot Tests for Android，可以更容易地捕捉这些问题，确保应用界面的稳定性和一致性。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg5MzYxNTI5Mg==&mid=2247498559&idx=1&sn=f46cd11e07279e00a79558d628d4aca3&chksm=c1a81c0a17039867664930535430c26f5eccce3758b41d27e68941de451561526b90118a7940&mpshare=1&scene=1&srcid=0226n0eM3YCqmHIm8SoSBTbj&sharer_shareinfo=ad38f3794b15093aee5ca7387ec929bd&sharer_shareinfo_first=ad38f3794b15093aee5ca7387ec929bd">深入研究 Android 启动速度优化（下）</a>: 在上一篇文章深入研究 Android 启动速度优化（上）中，梳理了应用启动的整个过程和问题，启动优化阶段与指标是什么，启动耗时方法的数据统计八种工具与分析，以及一些常见的启动时间问题。可以说是完成了启动优化工作最难的一部分 。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649080963&idx=1&sn=a8c0938a359eaf8c96bc278d96740cb6&chksm=863a8db4097f2ab34cd78e175658386d1e22d8f2e00ed351d5732338c9cb4b5cb4104696e37a&mpshare=1&scene=1&srcid=0227cBZIXUFq2VhzuAzEc6HO&sharer_shareinfo=cc42b823dae51be07e97697888646bc3&sharer_shareinfo_first=cc42b823dae51be07e97697888646bc3">从 input 响应性能差的 issue 演示 perfetto trace 用法</a>: 从 input 响应性能差的 issue 演示 perfetto trace 用法，分析了函数耗时、CPU 频率和调度等问题，并提出了优化思路。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649080968&idx=1&sn=bdc6446a5bd8af9dd5eda89aab9ac516&chksm=86fd465fa85c43335e1ac61c711b05c5f53b1198fbdc5eb72e89818e884a1e8f5f3eeabad94e&mpshare=1&scene=1&srcid=02274yGtVK3XYZZ0zPwSSgC6&sharer_shareinfo=f3e05330c10ad0fec9c3d359c7215f39&sharer_shareinfo_first=f3e05330c10ad0fec9c3d359c7215f39">基于 gpu counters 数据的性能优化</a>: 基于 GPU Counters 数据的性能优化，文章探讨了通过 GPU 性能指标分析游戏性能瓶颈并提出优化方向。以三个游戏的性能数据为例，分析了内存读写、顶点和片元指标的差异，并总结了性能优化的通用思路和自动化的重要性。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxMDM0NjExNA==&mid=2247495934&idx=1&sn=9033191d2e192710678ecbd4cc7c68a7&chksm=9a023027ce3568f567565c4d7ae37ceb3be22ebb65d74cd6bfc7a6b1e2af243f95ee1c0ed232&mpshare=1&scene=1&srcid=0228aqXfPHfdZ1U6U66Z06TH&sharer_shareinfo=726211892215a533c2783d4ccbe20c2d&sharer_shareinfo_first=726211892215a533c2783d4ccbe20c2d">提升移动游戏体验：性能和功耗的双重优化策略</a>: 与主机和 PC 游戏开发不同的是，由于移动设备的安全限制，游戏开发商并没有足够的系统权限，无法根据手机实际的硬件情况进一步调优。因此，在移动游戏体验的优化上，除了游戏开发者们自己的优化，移动设备生产商的努力也同样至关重要的（这就是为何即便是同一芯片平台的设备不同品牌实际体验也有着明显差别的原因）。本篇文章将以移动设备厂商开发者视角，围绕性能和功耗两个最重要的方面，深入探讨如何优化游戏体验，力求为玩家提供更流畅和持久的游戏体验。需要说明的是，游戏体验是一个非常主观且庞大的话题，本篇只是介绍其中的性能和功耗，其他诸如触控、插帧、超分等不在讨论话题之内。</li><li><a href="https://mailchi.mp/kotlinweekly/kotlin-weekly-448">kotlin-weekly-448</a>: kotlin-weekly-448</li><li><a href="https://juejin.cn/post/7476743827202736143">不要升级，Flutter Debug 在 iOS 18.4 beta 无法运行，提示 mprotect failed: Permission denied</a>: iOS 真机升级到 18.4 beta 后，Flutter Debug 运行会出现权限不足错误。原因是 iOS 加强内存权限限制，Flutter Debug 运行未签名二进制文件且需动态生成代码，而 release&#x2F;profile 因代码完全打包成机械码无此问题。Flutter 官方在研究修复，真机未升级则无影响。</li><li><a href="https://juejin.cn/post/7476658022413353000">Android 策略设计模式的使用：使用设计模式，减少烂代码，让项目更好维护</a>: 这篇文章介绍了在 Android 项目开发中使用策略设计模式解决支付方式代码混乱、难以维护的问题。通过定义接口、创建默认实现类、具体实现类和策略工厂，实现了支付方式的分类管理。还阐述了策略设计模式的概念、组成部分、优点、缺点及应用场景。</li><li><a href="https://juejin.cn/post/7475929962173808650">深入探索 Android IPC：解锁进程间通信的奥秘</a>: 文章深入探讨了 Android IPC，包括进程与线程的概念及关系、多进程模式、IPC 的基础概念与序列化方式、实现方式（Binder、AIDL、Messenger 等）、多进程模式带来的问题及解决方案，还介绍了 IPC 的应用场景与案例分析，并对其未来发展进行了展望。</li><li><a href="https://juejin.cn/post/7475625434760937512">理解 Android 中的内存泄漏以及如何让 LeakCanary 来帮忙</a>: 这篇文章介绍了 Android 中的内存泄漏，包括其定义、危害、常见原因，重点讲解了 LeakCanary 检测和修复内存泄漏的作用、工作原理、集成步骤及局限性，还给出了修复泄漏的步骤和结论，强调内存管理的重要性。</li><li><a href="https://juejin.cn/post/7475575836705898533">2025 年 Android 六边形战士开发趋势，需要掌握哪些技能可自我反省</a>: 本文探讨了 2025 年 Android 六边形战士开发趋势，包括必备技能（如多种语言和技术）、应用层（如原生 XML 布局、Compose 等）、系统层面、性能优化（启动、布局、内存等）、特殊功能（摄像头、音视频处理等）、逆向安全等方面，强调技术学习要与时俱进，多掌握技能。</li><li><a href="https://juejin.cn/post/7475248014732083236">Android NDK 示例（六）图片内存监控</a>: 这篇文章主要介绍了在 Android 中使用 NDK 实现图片内存监控的方法。指出图片内存占用大，不同 Android 版本对图片处理不同。使用 ShadowHook 库，分别拦截不同版本的图片创建函数，获取宽高等信息。文中详细说明了依赖配置、实现逻辑、外部使用及相关代码示例。</li></ol><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><ol><li><p><a href="https://w2solo.com/topics/5495">创业日记 独立开发周记 106：提高转化率</a>: 这篇文章是一位独立开发者的周记，记录了其在开发、优化应用和个人生活中的点滴经历。作者通过量化工作、优化应用功能和尝试新设计来提高产品转化率，同时也分享了生活中的一些趣事和消费经历。  </p></li><li><p><a href="https://zhuanlan.zhihu.com/p/26422190735">读《黑客与画家（10 万册纪念版）》</a>: 你的职位产生的业绩应该是可测量的，否则你做得再多，也不会得到更多的报酬。此外，你还必须有可放大性，也就是说你做出的决定能够产生巨大的效应。任何一个通过自身努力而致富的个人，在他身上应该都能同时发现可测量性和可放大性。高科技&#x3D;可放大性  </p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzI4NjAxNjY4Nw==&mid=2650240033&idx=1&sn=e0105f3dcef390563d67b28496f0a061&chksm=f25a21f0903428bbd15c8d6cd9018d651de014ab35a20ac6b2ecb515e53b96ac54fa60a7a2c7&mpshare=1&scene=1&srcid=02284VqOOx3iQutTQMLbpXHy&sharer_shareinfo=9171e78c7fcb8b0e2ee99a78de78bde1&sharer_shareinfo_first=9171e78c7fcb8b0e2ee99a78de78bde1">科技爱好者周刊#339：代币是什么</a>: 这里记录每周值得分享的科技内容，周五发布。  </p></li><li><p><a href="https://android-developers.googleblog.com/2025/02/meet-android-studio-team-dan-dole.html">Meet the Android Studio Team: A Conversation with Android Developer UX Manager, Dan Dole</a>: 这篇文章介绍了 Android Studio 团队及其对开发者体验的贡献，重点是 Dan Dole 的职业旅程和他对用户体验（UX）的独特见解。他讨论了人工智能（AI）和机器学习如何改变开发者的工作方式，并分享了团队如何通过倾听反馈和技术创新来满足开发者的需求。  </p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NDIwMTExNw==&mid=2247596152&idx=1&sn=1e28508c6f02564a619807e24e08bf1e&chksm=c32b748af45cfd9c0204589225dc320903cdeae977a6ad870e1568c1b6e4147dded8875184c8&scene=58&subscene=0#rd">Android Studio Ladybug Feature Drop 稳定版已推出</a>: Android Studio Ladybug Feature Drop (2024.2.2) 稳定版已推出！借助 Android Studio 中的 Gemini、Wear 功能块的动画预览支持、App Links Assistant 等功能，提高您的工作效率。所有这些新功能都旨在帮助您更快地构建高品质 Android 应用。  </p></li><li><p><a href="https://weekly.howie6879.com/2025/02-24~03-02.%E8%80%81%E8%83%A1%E7%9A%84%E5%91%A8%E5%88%8A%EF%BC%88%E7%AC%AC179%E6%9C%9F%EF%BC%89.html">02-24~03-02.老胡的周刊（第 179 期）</a>: 老胡的信息周刊，记录这周我看到的有价值的信息，主要针对计算机领域，内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。  </p></li><li><p><a href="https://limboy.me/posts/value-oriented-life">以终为始，面向价值观生活</a>: 理想的人生，应该是随时死去，都不留遗憾。  </p></li><li><p><a href="https://innei.in/notes/187">迷雾</a>: 最近，作者一直在全力开发一个名为 Follow 的项目，主要使用 React Native 编写，但遇到了许多技术挑战，特别是在需要调用 native 方法时。尽管花了大量时间研究 React Native 和 swift 等相关技术，但感到收获有限，这让作者有些郁闷但同时也感到偶尔的喜悦。项目进展方面成功将 Shiro 升级到 Next.js 15，但开源版本暂不更新。 日常中，作者参加了好友 pseudoyu 的婚礼，并与许多远程工作的同事首次见面。此外，作者开始意识到繁重的工作和久坐生活对健康的不良影响，计划关注身体健康。开源方面，作者还开发了一个替代 GitHub Notification 的工具 Linear。  </p></li><li><p><a href="https://www.ftium4.com/ux-weekly-221.html">体验碎周报第 221 期（2025.2.24）</a>: 系统的知识来源于对碎片的整理和思考，为了更好地输出系统知识，记录本周我发现的体验设计和思考，为构建系统知识做准备。</p></li></ol><h2 id="AI"><a href="#AI" class="headerlink" title="AI"></a>AI</h2><ol><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg2MjE0MTE2MQ==&mid=2247495970&idx=1&sn=72a9c54ea4d8177a49e40a5796825c57&chksm=cff32729f027534e569f91dfb4dcc82f87dc5d18c3e6724c585af59acb7e4fba387d7e2e7745&mpshare=1&scene=1&srcid=0224dxdwWrYEbeoWkshUTzPi&sharer_shareinfo=b9b445d4a151bb5f37b8a07e3bca5a9f&sharer_shareinfo_first=1698698fa44fdfcd9e8dc0865e21241b">掌握这些 DeepSeek 提问技巧，开发效率翻倍！</a>: 掌握 DeepSeek 提问技巧，提高开发效率，文章详细阐述了如何在不同开发场景中精准提问以获得高质量回答，包括定位技术问题、制定技术方案、优化代码性能、学习新技术等，并提供了通用提问模板和实用技巧。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxNDEwNjk5OQ==&mid=2650538502&idx=1&sn=aa954b0e7d60240dc98ce70f6c456e06&chksm=828d877b0f6313237b48c91c4a35aaafa012b7bbd168380aa7baba0393bd65170d4af54a1df5&mpshare=1&scene=1&srcid=0224jFp0JFaKYgTlqTYLOuQE&sharer_shareinfo=d086da51d6791c63bc0a91c5d68303ea&sharer_shareinfo_first=d086da51d6791c63bc0a91c5d68303ea">多模态人物视频驱动技术回顾与业务应用</a>: 多模态人物视频驱动技术在商业、教育、医疗及文化娱乐等领域具有广泛应用，通过综述关键技术（如口唇驱动、头部驱动和肢体驱动）及其在业务场景中的实践，本文展示了相关技术的最新进展及其商业价值。</li><li><a href="https://mp.weixin.qq.com/s/8STi5CntEehPiwR8rS1-Ag">Cursor+Claude3.7 的绝杀：从原型到 app，两步完成 app 开发</a>: 最近在 X 上看到了一些人在用 Claude 3.7 Sonnet 生成 app 原型图的尝试，受到启发，发现这么先生成不同界面的原型图再让 Cursor 基于原型图开发 app 会是很好的尝试。尤其是，你也可以不两步直接生成，而是在过程中更可视化地思考你要生产的原型，这对于非专业的产品经理来说，会是好得多的方式。</li><li><a href="https://ew6rccvpnmz.feishu.cn/wiki/ILO2waqXLi1EvqkuKHvcceMOnVd?fromScene=spaceOverview">一个提示词 claude 生成一个 app 的 ui&#x2F;ux</a>: 产品文档知识库目录中包含关于使用提示词生成应用程序 UI&#x2F;UX 的相关内容，同时分享了一个名为“流光卡片”的工具及其 API 使用文档，并提供了相关社交平台链接和教程。</li><li><a href="https://www.youtube.com/watch?app=desktop&v=P8uT6McIaZc">【99%的人不知道】Cursor + Claude 3.7 的绝技：从原型到产品，两步完成 app 开发！</a>: 这个视频展示了如何利用 Cursor 编辑器和 Claude 3.7 AI 模型，通过两个简单步骤快速开发一个完整的 APP 原型。这种方法特别适合非专业开发者快速将想法转化为可操作的应用程序。</li><li><a href="https://juejin.cn/post/7475648534009675812">吹爆 AI ？Flutter 开发在 Cursor &amp; Trae 不一样的 AI 真实体验</a>: 作者分享了在 Flutter 开发中使用 Trae 和 Cursor 的 AI 辅助编码体验，包括将状态管理框架从 redux 迁移到 riverpod 的需求。Trae 思考慢且迁移效果不佳，Cursor 也无法一步完成。尽管如此，它们在某些方面对工作效率有提升，同时还对比了 DeepSeek、Grok 3 和 ChatGPT 等，最后提及了 Anthropic 对 Claude 的发展规划。</li><li><a href="https://www.edony.ink/how-to-study-deepseek-by-myself-3/">关于 DeepSeek 我是怎么研究的(3)</a>: 本文介绍了 DeepSeek 涉及的推理机制（Reasoning Schema），包括其定义、组成部分（推理结构、策略和操作）以及工作原理。通过一个 24 点游戏的例子展示了 DeepSeek 的思考过程，并对比了推理（Reason）与推断（Inference）的区别，强调了推理在逻辑性和解释性方面的优势。</li><li><a href="https://www.edony.ink/how-to-study-deepseek-by-myself-4/">关于 DeepSeek 我是怎么研究的(4)</a>: 本文详细介绍了 DeepSeek-V3 模型的架构特点，包括基于 Transformer 框架、采用 MLA 和 DeepSeekMoE 架构。重点讨论了细粒度专家划分、共享专家分离、负载均衡策略以及 MLA 和 MTP 技术。此外，还介绍了训练基础设施及 FP8 混合精度训练框架。</li><li><a href="https://limboy.me/posts/ai-programming">AI 辅助编程的崛起意味着什么？</a>: 使用一段时间后，我的整体感受是：AI 辅助编程将会是不可逆转的趋势。越早掌握一款得心应手的工具，越早完成与 AI 的磨合，对程序员的个人发展越有益。</li><li><a href="https://quaily.com/op7418/p/aigc-weekly-110">AIGC Weekly #110</a>: Grok3 发布，具备强大功能和上下文处理能力；谷歌 Veo2 视频生成模型开放使用，表现优秀但清晰度有所下降；Figure 推出 Helix 机器人视觉语言模型，实现多机器人协作；AI 在技术面试中的影响显著，需调整面试策略以应对 AI 挑战。</li></ol><h2 id="鸡血"><a href="#鸡血" class="headerlink" title="鸡血"></a>鸡血</h2><p><img src="/images/Weekly#46/img_00_954157a8.jpg" alt="image"></p><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#x64;&#114;&#101;&#97;&#109;&#116;&#97;&#x6c;&#101;&#x2e;&#x6a;&#103;&#64;&#x67;&#x6d;&#97;&#105;&#108;&#46;&#99;&#x6f;&#109;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-46&quot;&gt;&lt;a href=&quot;#Android-Weekly-46&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #46&quot;&gt;&lt;/a&gt;Android Weekly #46&lt;/h1&gt;&lt;blockquote</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #45</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-02-23-Android-Weekly-45/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-02-23-Android-Weekly-45/</id>
    <published>2025-02-22T16:00:00.000Z</published>
    <updated>2025-02-22T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-45"><a href="#Android-Weekly-45" class="headerlink" title="Android Weekly #45"></a>Android Weekly #45</h1><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><a href="https://juejin.cn/post/7474077946542981174">Android Fence 同步框架</a>: 本文主要介绍了 Android 的 Fence 同步框架，包括图形显示流程中使用 Fence 确认图像缓冲同步，Fence 类及其成员函数，FenceMonitor 类对 Fence 的直接追踪，追踪 Fence 的完整链路，还概述了 Android 同步框架，指出流程主要在用户空间，内核空间部分未深入分析。</li><li><a href="https://mp.weixin.qq.com/s/q0XhCCNdSMgATZOqo2Cs7A">你真的知道 onCreate 和 onResume 耗时操作为什么不会 ANR 吗？</a>: jakeprim 在学习了课程的相关的 ANR 知识点后，针对 Activity 生命周期方法耗时操作的是否 ANR 情况进行了剖析实战。</li><li><a href="https://juejin.cn/post/7472037829506383906">Google Gemini 如何加速 Android 开发？</a>: 文章主要介绍了 Google Gemini 在 Android 开发中的应用，包括下载配置 Android Studio 预览版以使用 Gemini 、其上手体验（如简单问答、智能诊断、快捷入口等）、代码改进案例，同时指出 AI 目前无法胜任中高级编程任务，使用时要提防其错误，作者后续还会出专门的评测文章。</li><li><a href="https://juejin.cn/post/7471979172115152932">Flutter 正在推进全新 PlatformView 实现 HCPP， 它又用到了 Android 上的什么黑科技</a>: 文章主要探讨了 Flutter 在 Android 上的 PlatformView 实现，包括此前的几种模式及优劣，重点介绍了全新的 HCPP 实现。它需要特定环境支持，通过 SurfaceControl 构造高层级 Surface 解决混合覆盖问题，目前处于 beta 状态，未来可能成为新的支持模式。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkyMjM5MTk3NQ==&mid=2247487309&idx=1&sn=f9f3fa07bf33d0e7d894ebbbdf9fb17a&chksm=c0d684926ac83cdedf9242f4141ae0fb3a01e758c73c4c7e8f0db09bd95af63ef7e86ccdaf43&mpshare=1&scene=1&srcid=0217OfSNR1bheX58g6pnX1yB&sharer_shareinfo=d72371ecf1b4577958ca0df3595ce7fc&sharer_shareinfo_first=d72371ecf1b4577958ca0df3595ce7fc">「深蓝洞察」2024 年度最隐蔽的黑手</a>: 在 GEEKCON 2024 上海站，两位选手为大家带来了特别披露议题【买手机送木马？】，披露了某国产手机厂商的恶行：该厂商利用系统权限，在用户不知情的情况下向多个第三方应用植入广告。数百万用户正常体验被破坏的同时，手机厂商却从应用方赚取了数千万的推广费用。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkyMjM5MTk3NQ==&mid=2247484287&idx=1&sn=73ebf1ae3aee7bbe1a1e479246fbd7f7&chksm=c07b763967fc101cd6c8f285d05ae5f3ffa6dacbef69e412737e96ac2a27c548352a0c6780b3&mpshare=1&scene=1&srcid=021777aWVrqh6zSAvd2AoNJg&sharer_shareinfo=57cec116bc59d60469ccb98a0c65bea6&sharer_shareinfo_first=57cec116bc59d60469ccb98a0c65bea6">「 深蓝洞察 」2022 年度最“不可赦”漏洞</a>: 但 2022 年，有知名互联网厂商竟持续挖掘新的安卓 OEM 相关漏洞，在其公开发布的 App 中实现对目前市场主流手机系统的漏洞攻击。</li><li><a href="https://zhuanlan.zhihu.com/p/24259716029">案例分享：线程存在 pending exception 导致 java 函数不执行</a>: 文章主要描述了一个 Android 开发中的低概率问题：由于线程中存在 pending 异常，导致 JNI 层调用的 Java 函数未执行。文章分析了问题的根本原因，提供了技术细节，并提出了解决方案。</li><li><a href="https://juejin.cn/post/7472233713416290313">探索 Java Native Interface（四）：JNI 中引用类型</a>: 本文是关于 JNI 中引用类型的读书笔记，介绍了 JNI 支持将类实例和数组类型作为不透明引用，有本地、全局、弱全局三种引用。本地引用自释放，全局和弱全局需主动释放，且三者在生命周期、线程使用等方面有区别。还提及 Java 中的强、软、弱、虚四种引用类型。</li><li><a href="https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-smooth-application-design-V5">华为 - 性能体验设计</a>: 本文主要探讨了如何通过交互流畅体验设计和视觉流畅体验设计，提升移动应用程序的用户感知流畅度。文章涵盖了用户体验设计的原则、流畅评测指标、触屏手势设计、动效优化及完成时延等关键方面，同时提供了具体的优化建议和实践案例。</li><li><a href="https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-performance-guide-reading-V5">华为 - 性能最佳实践导读</a>: 性能调优贯穿于鸿蒙应用开发的整个生命周期中，开发前有性能最佳指南等赋能套件让你快速上手学习，开发过程中有性能工具开发套件覆盖应用开发各阶段，应用开发完成上架后有专业的性能测试工具检查测试应用性能指标。本文重点介绍应用开发过程中使用性能工具与性能优化文章定位分析性能问题流程，</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTQ4NDUyNg==&mid=2247489068&idx=1&sn=b4c754f92b49a0930180a018db66958f&chksm=c3323642d66ae18c0af47c29add2c85f0030a85a5c96ac35a1888da8a8932790a4194daa7097&mpshare=1&scene=1&srcid=0219StOk9gBt4XEtakMlXx2s&sharer_shareinfo=942845a3b89175b541af2a88b172cfed&sharer_shareinfo_first=942845a3b89175b541af2a88b172cfed">分享系统开发小技巧-如何查看进程是否冻结 freeze</a>: 进程冻结技术（freezing of tasks）是将用户进程和部分内核线程置于“可控”的暂停状态。经常在系统开发过程中，分析一些运行问题，诡异的异常功能，或者 anr 等问题时候都会与系统进程的冻结进行打交道，既然与进程冻结打交道，那么我们肯定首先需要知道啥是冻结，冻结意义等。如果系统进程冻结了，有什么依旧是可以证明验证当前进程就是冻结状态。</li><li><a href="https://zhuanlan.zhihu.com/p/700781104">探索 Android 平台 ARM unwind 技术-5 异步 Unwind</a>: 近期有一些工作涉及到 eBPF 和 simpleperf 性能调测工具不足的思考。其中对涉及的 unwind 的流程做了一些梳理。发现 simpleperf，traced_perf 中 unwind 的方法是一种异步 offline 的方式。这种 unwind 是通过其他进程或者线程来完成，对回栈的目标线程执行流程基本不影响。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkxMDc4NTc0OQ==&mid=2247483847&idx=1&sn=d90a754135c3fc926983d8e1f93a9bad&chksm=c066b5cb46114de0fa488c035e6db27d5f621d18738b1611d28275ebae05bbb49c9de673e9a7&mpshare=1&scene=1&srcid=0219AyA0pN6JFIfZjz62aCav&sharer_shareinfo=06835f013d525361d29ca13051f0b626&sharer_shareinfo_first=06835f013d525361d29ca13051f0b626">【Android V】SkSurface_Ganesh 总结</a>: SkSurface_Ganesh 是 Skia 中基于 GPU 后端实现的 SkSurface，与不同后端（如 GL 和 VK）关联不同的 GrRenderTarget 实例。其创建方式分为三类：WrapBackendRenderTarget、WrapBackendTexture 和非 wrap 类型，不同方式对资源的管理和关联有所不同。在 hwui 中，GL 后端的 SkSurface_Ganesh 实例在每帧结束后会释放，无法统计内存使用信息，而 VK 后端的实例会被持有，导致 GPU 内存使用比 GL 后端多 10-20M。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649080278&idx=1&sn=d4fc34639f77341a5751549addc8419d&chksm=8679f754574b19676b84fefc564ca08f899203da3feea28b9462a0541ff33ce6fa20aecbd0fc&mpshare=1&scene=1&srcid=0220J8EQzfEx6tdxNCKI244W&sharer_shareinfo=e1e00242f71990c455fed62a603a6bc2&sharer_shareinfo_first=e1e00242f71990c455fed62a603a6bc2">响应时延的科学研究</a>: 直接设备拖动可感知平均最小时延(PAMTD)是 11ms，点击 PAMTD 是 69ms；间接设备拖动 PAMTD 是 55ms，点击 PAMTD 是 96ms；直接设备拖动时延改进 1 帧(16.7ms)以上，能被大多数用户感知出来，比点击更敏感。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTUwMTQ5NQ==&mid=2247484522&idx=1&sn=4d27b46f2a97be7f0af89ca4f084b464&chksm=c396a99243971c24a1d89254beddf1eae5b25703f7b542368275d59161dd1a89edda1c457a1b&mpshare=1&scene=1&srcid=0220Q8fYyOker1LAR5iCKrKD&sharer_shareinfo=a516564a0bc7d345439c1a37c07f7cc1&sharer_shareinfo_first=a516564a0bc7d345439c1a37c07f7cc1">能量感知调度（EAS，Energy-Aware Scheduling）的考古日志系列，连载七</a>: Quentin Perret 在 Morten Rasmussen 工作的基础上完成了 EAS 的开发合入。本文介绍第四个 patch， 将性能域的能量模型在 sysfs 中导出，这样方便用户空间查看，这需要在 CPU 子系统下添加一个 kobject， 并在其下为每个性能域增加一个 kobject。本文基于 kernel5.0-rc1。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTUwMTQ5NQ==&mid=2247484525&idx=1&sn=154e487a61ca767f85c216814dc57460&chksm=c3a19f637daac983f9b7fad71f21c1496349a072a50d13e2f643dbb856ba14b125c74c95b689&mpshare=1&scene=1&srcid=0221SEYg6YfXrrtfAQKkHicD&sharer_shareinfo=f75c7bb9d7117020f45ec34c17f20457&sharer_shareinfo_first=f75c7bb9d7117020f45ec34c17f20457">能量感知调度（EAS，Energy-Aware Scheduling）的考古日志系列，连载八</a>: Quentin Perret 在 Morten Rasmussen 工作的基础上完成了 EAS 的开发合入。本文介绍第五个 patch，引入性能域（PD）作为调度域的扩展，这样调度器在做任务选核的时候，就可以考虑能耗的影响。这个 patch 第一次将能量模型（EM）和调度器联系起来。本文基于 kernel5.0-rc1。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTUwMTQ5NQ==&mid=2247484527&idx=1&sn=03b80d74121590d5b6994faddfbe76db&chksm=c304d30627d823bf270275a6787606740af261a8346fc68a93afebf5cdc5707f8916948d29ed&mpshare=1&scene=1&srcid=0222qkLq5W9Ljvye8fn2tu4n&sharer_shareinfo=7cbbe142d4f7b9b0d650577e4a352664&sharer_shareinfo_first=7cbbe142d4f7b9b0d650577e4a352664">能量感知调度（EAS，Energy-Aware Scheduling）的考古日志系列，连载九</a>: Quentin Perret 在 Morten Rasmussen 工作的基础上完成了 EAS 的开发合入。本文介绍第六个 patch，是对调度域（sched_domain）的一些优化和改进。新增了一个变量 sd_asym_cpucapacity，它指向调度域层次结构中最低的级别，在该级别上设置了 SD_ASYM_CPUCAPACITY 标志。这个标志表示调度域中的 CPU 具有不对称的计算能力。本文基于 kernel5.0-rc1。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MjM5NDkwOTEyMQ==&mid=2651664628&idx=1&sn=fd27111cd6274e07e27324577b92ba0e&chksm=bc24b092943af1e1f5026114f2fad88bc1ff6c22ab315a46930e0ff2ab736ceef67f34917e78&mpshare=1&scene=1&srcid=0222pOCxUQC5m8XLlN5IhCWv&sharer_shareinfo=59edc1078b7f845f4534c915ee0211ac&sharer_shareinfo_first=59edc1078b7f845f4534c915ee0211ac">Please register for I&#x2F;O 2025</a>: Google I&#x2F;O 大会倒计时现已开始！5 月 20 日和 21 日，欢迎在山景城 Shoreline Amphitheatre 和 io.google 线上观看我们的现场直播。在 I&#x2F;O 大会上，您将详细了解 Google 在 AI、Android 等领域的最新产品、技术和创新。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxMDM0NjExNA==&mid=2247495889&idx=1&sn=932ef25a82fe239c63006df0dec47508&chksm=9a82bcd41998fafb641e3aecb2b82e551e2c67a572ee17f00b8203ef210feaeb2451020ec7c4&mpshare=1&scene=1&srcid=0221XYmuh5etfyKkNpwYNaJa&sharer_shareinfo=75046d6ba3e92451d5a45ab1a921f368&sharer_shareinfo_first=75046d6ba3e92451d5a45ab1a921f368">探索 Android 动态埋点的新视界：UprobeStats 深度解析</a>: Android15 中 Google 正式引入 UprobeStats，它利用 Linux Kernel eBPF uprobe（用户空间探针）机制来动态获取用户进程中的埋点数据，并将其汇总至 StatsD 模块。</li><li><a href="https://blog.csdn.net/qq_18757557/article/details/145771031">android 系统 SystemServer 进程启动流程分析</a>: 本文详细分析了 Android 系统中 SystemServer 进程的启动流程。SystemServer 是由 Zygote 进程 fork 出来的核心进程，负责管理系统的核心服务。文章从 SystemServer 整体框架、源码分析、binder 驱动与线程池、以及 SystemServer 的具体启动方法等方面展开了深入讲解。</li><li><a href="https://www.bilibili.com/video/BV1miAYeMEWY?buvid=XY242BA259E52683444A987262F271E6E06F5&from_spmid=main.my-history.0.0&is_story_h5=false&mid=nVL4fiqcgwP07aXDwnGWXA==&plat_id=116&share_from=ugc&share_medium=android&share_plat=android&share_session_id=db7084fd-f940-4cc8-9f3e-71fb2049091b&share_source=WEIXIN_MONMENT&share_tag=s_i&spmid=united.player-video-detail.0.0&timestamp=1740154999&unique_k=OMOzqWt&up_id=3546580680444116&wxfid=o7omF0T3YattlVwQA3UqlXeHEa8k&share_times=1&vd_source=0c6d2191e785de0a36dc21a9da7e664e">代码与工程之外【2】| 从 CRUD 到商业杠杆：重新理解程序员的核心价值</a>: 代码和编程之外系列源于我对自身及程序员群体的观察思考得来，我们大部分人（包括我），可能陷于各种酷炫高大上技术的盲目崇拜中，可能陷于面向薪资和跳槽编程的功利急躁中，可能陷于应接不暇的繁重工作中，而对于场景、技术本质、价值、动机追求等一些更加不可见，真正决定脚下的路能走多远的主题，却未能了解到。我希望通过我的表达，来帮助大家厘清这些常被忽视的东西，如果能对这些东西有足够的理解，可能会帮助大家走得更快更远</li><li><a href="https://juejin.cn/post/7474077946542981174">Android Fence 同步框架</a>: 本文主要介绍了 Android 的 Fence 同步框架，包括图形显示流程中使用 Fence 确认图像缓冲同步，Fence 类及其成员函数，FenceMonitor 类对 Fence 的直接追踪，追踪 Fence 的完整链路，还概述了 Android 同步框架，指出流程主要在用户空间，内核空间部分未深入分析。</li><li><a href="https://juejin.cn/post/7473897136452255759">探秘 React Native：从视图创建到布局渲染的流程解析</a>: 这篇文章主要探秘了 React Native 从视图创建到布局渲染的流程。以 tag 为标识与 ShadowNode 建立映射，通过操作 ShadowNode 进行视图创建和添加。布局属性由 Yoga 引擎管理，通过任务队列在新帧开始时执行操作，自底向上调用 View 的 measure 和 layout 实现布局。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NDIwMTExNw==&mid=2247596144&idx=1&sn=bcad48f8f81ed01ec1fa5d739b5203e6&chksm=c32b7482f45cfd9483cda291141e9deadda4c369671275e9984452451f05afd25f9e3094cde1&scene=58&subscene=0">在 Jetpack Compose 中解锁 CameraX 的强大功能</a>: 我们了解到您喜欢 CameraX 和 Jetpack Compose 库提供的强大功能，但希望使用更符合语言习惯的 Compose API 来构建相机界面。今年，我们的工程团队开发了两个新的 Compose 工件，即低层级 viewfinder-compose 和高层级 camera-compose。两者现在均已推出 alpha 版本 。在本系列文章中，我们不仅将为您介绍如何将 camera-compose API 集成到应用中，还将向您展示与 Compose 集成所带来的一些令人愉悦的界面体验。所有令人赞叹的 Compose 功能 (例如自适应 API 和动画支持) 均已与相机预览无缝集成。</li><li><a href="https://juejin.cn/post/7473463198534074422">系统化掌握 Flutter 开发之 Image：视觉盛宴</a>: 本文系统介绍了 Flutter 开发中 Image 组件，包括基础认知（四种加载方式、关键属性等）、进阶应用（动态加载、滤镜与动画集成等）、性能优化（缓存策略、压缩与格式等）、源码探秘、设计哲学、最佳实践及总结。强调以性能为导向构建高可用、高扩展的图片处理体系。</li><li><a href="https://github.com/skydoves/compose-performance">Compose Performance</a>: 本文总结了 Jetpack Compose 的性能优化方法和工具，强调了减少不必要的重组、有效管理状态以及使用性能分析工具的重要性。文章还介绍了如何通过新技术（如 Strong Skipping 模式、稳定标记和 Gradle 插件）提高 Compose 的稳定性和效率。</li></ol><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><ol><li><a href="https://baoyu.io/translations/wrong-about-gpu">我们对于 GPU 的看法错了 [译]</a>: 我们对 GPU 的看法存在误判。尽管 Fly.io 在构建 GPU 产品上投入了大量资源，但市场需求并未如预期般增长。开发者更倾向于使用现成的 LLM API，而不是自己搭建 GPU 环境。尽管如此，这次尝试让公司在技术、经验和资产管理上有所收获，也验证了创业过程中试错的重要性。</li><li><a href="https://baoyu.io/translations/flow-deep-work-slow-living">找到心流：通过深度工作和慢生活逃离数字干扰 [译]</a>: 这篇文章探讨了如何在现代数字干扰的时代中，通过深度工作、慢生活和心流状态来提升专注力和生活质量。作者分享了个人经验、具体方法和灵感来源，以帮助读者找到平衡、减少分心并追求更有意义的生活。</li><li><a href="https://toolight.zhubai.love/posts/2503783972958969856?push_source_id=2436306723473911808&push_source_type=email">第 121 期-偷懒爱好者周刊 25&#x2F;02&#x2F;19</a>: 偷懒爱好者周刊 25&#x2F;02&#x2F;19</li><li><a href="https://wiki.eryajf.net/pages/3365c2/">学习周刊-总第 199 期-2025 年第 08 周</a>: 周刊核心为运维周刊，还会侧重 Go 语言生态，Vue 相关技术生态的项目，以及 GitHub 上优秀项目或经验。</li><li><a href="https://mp.weixin.qq.com/s/AhZ5gpyU3h7GISI4jIgpRg">审读专家邀请《现代 CPU 性能分析与优化 第二版》</a>: 我们很高兴地宣布，Intel 性能专家 Denis Bakhvalov 的新作 Performance Analysis and Tuning on Modern CPUs-Second Edition 的中文版翻译工作已接近尾声。为确保翻译内容的准确性、专业性和可读性，现面向招募 5 名熟悉计算机体系结构、编译优化和性能优化的技术专家，参与本书的审读工作。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI3MTQ1MTU3MA==&mid=2247485535&idx=1&sn=bedbdb14bc9a027c635b11a91d969c7f&chksm=eb2e87f7510babb7f05f84ea01c492c895903a2dc21f4ea3471a6dc32da7ea7e2ae016425ece&mpshare=1&scene=1&srcid=02173efhNUW05q25SFHgphYb&sharer_shareinfo=2cb375874c119ee2ea7b4c719c136897&sharer_shareinfo_first=2cb375874c119ee2ea7b4c719c136897">设计欣赏｜多巴胺配色 UI</a>: 巴胺配色具有鲜明的特点。其色彩鲜艳、明亮、饱和度高，通常包括红、橙、黄、绿、蓝等充满活力的颜色组合。这些色彩能刺激视觉神经，让人产生愉悦感和兴奋感。在当下快节奏生活中，人们渴望积极的情绪刺激。鲜艳明亮的多巴胺配色能瞬间提升情绪，带来快乐与活力，满足了人们的心理需求。时尚达人、设计师等在社交平台上分享多巴胺配色的穿搭、装饰等，引发大量关注和模仿。</li><li><a href="https://juejin.cn/post/7460423288038195239?share_token=b0f96b14-36e9-48a0-a826-3cb79d909d76">一年收入 27 $ 独立开发的 2024 年终总结</a>: 这是一个关于作者“阿乐去买菜”对 2024 年的年终总结，涵盖了其个人生活、工作、学习和副业的回顾与反思，同时展望了 2025 年的目标。文章记录了作者在独立开发、社交媒体运营、生活体验和职业规划上的成果与不足。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247492982&idx=1&sn=a5a8da402efb0554c0eeba82f29f4963&chksm=cf2eefbddc4d075351118c3f329daf2aa4808bcca8fd04a15b1b3aab96f7c3467fcda06a1c5b&mpshare=1&scene=1&srcid=0217V4btogIrBZYp1hXbtQKt&sharer_shareinfo=77a5b44b2c55c00347bf249faefd7975&sharer_shareinfo_first=77a5b44b2c55c00347bf249faefd7975">Google 将取消 Kotlin GDE，JetBrains 放弃 为 KMP 定制独立 IDE</a>: Google 将取消 Kotlin GDE，也就是 2025 年开始不再有 Kotlin 类目的 GDE：</li><li><a href="https://www.econlib.org/my-weekly-reading-for-february-16-2025/">My Weekly Reading for February 16, 2025</a>: 加州的政策失误、宪法危机辩论以及消费者金融保护局（CFPB）的功能和争议是本周阅读的重点。</li><li><a href="https://weekly.tw93.fun/posts/210-%E9%9C%87%E6%92%BC%E7%83%9F%E5%9B%B1/">潮流周刊-第 210 期 - 震撼烟囱</a>: 记录每周看到的接地气的潮流技术，筛选后发布于此，觉得不错可关注此周刊，方便获取更新通知</li><li><a href="https://delirious-organ-b93.notion.site/36-ireland-199c0cd00fd1802b8badfbdee59dba77">36 岁的我为什么想润？为什么是爱尔兰 ireland？</a>: 分享 3 个问题，1 、我为什么要润，2 、未来的规划，3 、为什么是爱尔兰</li><li><a href="https://zhangke.space/%e6%88%91%e7%9a%84%e9%aa%91%e8%a1%8c%e5%8d%81%e5%b9%b4-%e7%8e%af%e9%9d%92%e6%b5%b7%e6%b9%96/?utm_source=rss&utm_medium=rss&utm_campaign=%25e6%2588%2591%25e7%259a%2584%25e9%25aa%2591%25e8%25a1%258c%25e5%258d%2581%25e5%25b9%25b4-%25e7%258e%25af%25e9%259d%2592%25e6%25b5%25b7%25e6%25b9%2596">我的骑行十年-环青海湖</a>: 这篇文章记录了作者与朋友一起骑行环青海湖的经历，包括旅行中的见闻、与陌生人的互动以及一些趣事。作者详细描述了沿途的风景、骑行的挑战和旅途中遇到的有趣人物，同时也分享了骑行结束后的感想。</li><li><a href="https://juejin.cn/post/7472593721592053800">姗姗来迟的 2024 年终小结和展望</a>: 张鑫旭的 2024 年终总结</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4NjAxNjY4Nw==&mid=2650239968&idx=1&sn=3eb6460956bde1a6c7d9eca3ec2a4127&chksm=f283a63cb3bb145728ff879d353d4bf26c15f7e7072fef0eee76a205601afd7094ee7d2dce04&mpshare=1&scene=1&srcid=0221prFTnK4DBlBSmtCQ32iH&sharer_shareinfo=51717cd109cfd0f2d567344fedcd9f44&sharer_shareinfo_first=51717cd109cfd0f2d567344fedcd9f44">科技爱好者周刊（第 338 期）：重新思考 6G</a>: 这里记录每周值得分享的科技内容，周五发布。</li><li><a href="https://ahrefs.com/blog/google-advanced-search-operators/">Google Search Operators: The Complete List (44 Advanced Operators)</a>: 本文详细介绍了谷歌高级搜索操作符的完整列表及其在 SEO 中的实际应用。通过学习这些操作符，用户可以更精确地过滤搜索结果，并发现如何利用这些技巧解决 SEO 问题，如竞争对手分析、内部链接优化、内容发现等。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NzkxMjA1MA==&mid=2247485394&idx=1&sn=1373540d1ac14ddff064963066e3b171&chksm=cea9a4f12299709577576ee73c1e6420e0b8711942d3422ef5a45472b2045462138282a3ba14&mpshare=1&scene=1&srcid=0223P3AJ0I4jZspa3r5R2vqK&sharer_shareinfo=80b5c2053261c5fa42f56d1fccdedaea&sharer_shareinfo_first=80b5c2053261c5fa42f56d1fccdedaea">性能周刊 2025-02-23 第 7 期</a>: 文章介绍了 GPU 架构与计算的基础知识，包括 CPU 与 GPU 的区别、GPU 的计算架构、内存架构以及执行模型，并探讨了如何在 GPU 上高效执行 kernel。适合对 GPU 计算和 CUDA 编程模型感兴趣的读者。</li><li><a href="https://androidweekly.net/issues/issue-663">Android Weekly - Issue #663</a>: Android Weekly - Issue #663</li><li><a href="https://zhuanlan.zhihu.com/p/25745742039">读《领导力：如何在组织中成就卓越》</a>: 领导力是什么，领导力是创造一种方式让人们成就卓越。——艾伦·基斯。领导者必须致力于解决组织和社会当下面临的重大问题，在于如何动员大家在组织中成就卓越。以身作则，其实就同理心，已所不欲勿施于人，要求别人做到的自己首先必须做的。每个企业和优秀的人都需要一个令人动心，为之奋斗的理想和目标，不满足现状，开放的接受外界的声音，创新的精神。大家有了共同奋斗的目标，一起努力，当有人做了好的成果，用心激励。“信誉是领导力的基石”，深表赞同。在公司中，职务可以任命，尊重要靠赢得，要成为员工中心目中的好的领导，则要靠诚实，信誉，以身作则，洞察力，带领团队取得成功。有很多领导说这漂亮的话，夸大其词，夸夸其谈，但是又做不到，不诚实，在员工心中没有信誉，坏了自己口碑，更重要坏了一个组织，弄垮一个部门，甚至公司倒闭。</li><li><a href="https://quaily.com/op7418/p/aigc-weekly-109">AIGC Weekly #109</a>: OpenAI 公布了 GPT-4.5 和 GPT-5 的发布计划，Windsurf 发布了第三波更新，Grok 3 即将发布，Perplexity 推出 Deep Research 能力，AI 语音助手技术快速发展，Meta 研究如何解码语言，新的 AI 视频生成技术和模型不断涌现。</li><li><a href="https://zhuanlan.zhihu.com/p/24128757868">体验碎周报第 220 期（2025.2.17）</a>: 系统的知识来源于对碎片的整理和思考，为了更好地输出系统知识，记录本周我发现的体验设计和思考，为构建系统知识做准备。</li></ol><h2 id="AI"><a href="#AI" class="headerlink" title="AI"></a>AI</h2><ol><li><strong><a href="https://mp.weixin.qq.com/s/5IxXoTSYfHg3AScTiFYHoQ">DeepSeek R1 读后感、碳基大模型如何成为“厉害”的人</a></strong> : 深度学习模型 R1-Zero 通过强化学习展现推理能力，其核心在于设计奖励机制，尤其是“格式奖励”，促使模型输出“思考”过程。该方法基于统计规律，而非类人类思维，强调计算效率与合理性。模型能力提升需结合高质量数据、监督学习与强化学习，类似于人类学习过程。文章还探讨了如何通过知识储备、专注思考与高质量信息</li><li><a href="https://m.okjike.com/originalPosts/67b6b66f84f32bf74a8d1f56">2025 年不同程序员如何用好 AI 模型</a>: MooreAI 分享了关于 2025 年不同经济实力的程序员如何高效利用 AI 模型的建议，涵盖从产品架构到代码开发的多个层面，并推荐了多种工具与方案。</li><li><a href="https://mp.weixin.qq.com/s/HB38prEMz275Rkj1g7mavA">万字赏析 DeepSeek 创造之美：DeepSeek R1 是怎样炼成的？</a>: 本文详细解析了 DeepSeek R1 的研发过程，探讨了其技术创新、训练方法、模型性能以及对行业的影响。文章从 R1 的发布背景、技术细节、与其他模型的对比，到其在学术界和工业界的反响，全面展示了 DeepSeek 团队如何通过强化学习、推理模型、工程优化等手段推动 AI 发展的边界。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAwMDYyODYzMA==&mid=2247483999&idx=1&sn=451a9dd95976882cc1fae4648499b1f8&chksm=9bc29cc58688f5d7b4f7acd33ffc3a9dcfea9fdaef54bf92e7c15361944c569b665dcdbf2187&mpshare=1&scene=1&srcid=0217tEtiKS41Usc7wAh9gnxh&sharer_shareinfo=6dae0ef9790cf50262b31a16b7ab5eca&sharer_shareinfo_first=6dae0ef9790cf50262b31a16b7ab5eca">AI 工具出海一个月的所思所想</a>: 接触 AI 工具出海有一段时间了，不过一直处于观望的状态，真正下手去做，也才是最近一个月的事情。真正实践下来发现，它值得投入，但别期望上来就能拿到成绩。有些必要的坑该踩还是要踩的，有些思维方式改转换还是要转换。而最重要的就是思维方式的转换，从一个开发者到一个独立开发者，需要转换的思维有很多。这篇文章记录一下自己这一个月的所思所想。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAwNjQwNzU2NQ==&mid=2650404859&idx=1&sn=ae3624a55773965e57a2f8603a08a8ca&chksm=823646847cbd28ef37d4c13497cd4bb4861475b17ff78eeca0450743b90a078a21dbcedc15c2&mpshare=1&scene=1&srcid=0218QFgghs13qkTGL6jLqcL8&sharer_shareinfo=0f4e98644652ce570575135ac9363788&sharer_shareinfo_first=cfceb1fa7455bf04f72440b375ab2a98">图解 DeepSeek-R1 的创新训练和推理模型实现原理</a>: DeepSeek-R1 的发布在 AI 发展进程中具有里程碑式的意义，尤其对机器学习研发社区而言意义重大，主要原因有二：开源策略：提供了经过轻量化处理的蒸馏版本；技术透明：公开分享了如何构建类似 OpenAI O1 这样对的推理模型的完整训练方法。接下来，让我们深入了解这个模型是如何构建的。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MjM5ODYwMjI2MA==&mid=2649791353&idx=1&sn=a136df918032192f8b1d7cc64234f61a&chksm=bf92ae3ace45e9ece6d777ab78d5d55de83d2b411cde24edc4c29f2b505c835210862f059ca9&mpshare=1&scene=1&srcid=0219YySYdiFVJU4ErFkNPsEO&sharer_shareinfo=33fdc920fa2d6683d818a2b7ffbbc9f6&sharer_shareinfo_first=33fdc920fa2d6683d818a2b7ffbbc9f6">DeepSeek R1 范式复现笔记</a>: 自 DeepSeek R1 技术报告开放以来，开源社区涌现了多种「复现」工作。本 R1 复现笔记旨在以多个开源项目的再复现以及交叉验证为目标，探索 R1&#x2F;R1-zero 中强化学习步骤带来的模型效果提升，并尝试展望 R1 技术在未来模型训练与业务落地上的前景</li><li><a href="https://baoyu.io/blog/ai-is-evolving-programmers">AI 正在推动程序员的进化，而不是灭亡</a>: 这是纽约时报新刊登的一篇 AI 对程序员影响的文章，有人担心 AI 很快会自动取代数百万个工作岗位，文章主要观点还是认为 AI 正在推动程序员的进化，而不是灭亡，创造力、批判性思维、解决问题的能力、沟通能力、共情能力——这些才是人们在未来需要持续培养的技能。当然，还要学会如何管理和使用好这些 AI 工具。</li></ol><h2 id="招聘信息"><a href="#招聘信息" class="headerlink" title="招聘信息"></a>招聘信息</h2><ol><li><a href="https://mp.weixin.qq.com/s?__biz=MzIwNTQxMjM5MA==&mid=2247486227&idx=1&sn=3d9d06d43c299e5ff6e9fa051ec5e2e8&chksm=961cedcac3050da99396a8e62d4ad1ebeb63eb4f6029fe1f6a552c2d4364d64857237120cb78&mpshare=1&scene=1&srcid=0218iq4YxxEi2pC4ghRPp6EC&sharer_shareinfo=3f9e325af0eb1579d1623eecba600afb&sharer_shareinfo_first=c867a744f78b3fccebd8968d8d574e54">群友内推招聘第三期 - 大量 Android Framework 和 App 岗位需求，找工作的同学看过来</a></li><li><a href="https://mp.weixin.qq.com/s/30hzzV9XjPrx-c2lvPpqeg">群友内推招聘第四期 - 大量 Android Framework 和 App 岗位需求，找工作的同学看过来</a></li></ol><h2 id="推荐"><a href="#推荐" class="headerlink" title="推荐"></a>推荐</h2><h3 id="Monica-国内版"><a href="#Monica-国内版" class="headerlink" title="Monica 国内版"></a>Monica 国内版</h3><p>一直在用 Monica 国际版 ，聚合了各种 AI 和工具（不过需要科学上网），基本上上新的 AI 之后，过几天 Monica 就会支持，贼方便</p><p>现在 Monica 开始测试国内版本，内置了 Deepseek R1 ，后续国际版的很多功能应该都会挪过来。</p><p>我申请了 1000 个内测邀请码：<strong>GrackerAI</strong> ，给需要的小伙伴：<a href="https://monica.cn/invite?inviteCode=GrackerAI">https://monica.cn/invite?inviteCode=GrackerAI</a></p><h3 id="掘金小册：Android-性能优化"><a href="#掘金小册：Android-性能优化" class="headerlink" title="掘金小册：Android 性能优化"></a>掘金小册：Android 性能优化</h3><p>原理+实战+进阶，全面掌握 Android 性能优化，作者赵子健，Android GDE，字节跳动资深 Android 开发工程师，现负责飞书客户端性能品质优化工作。熟悉 Android 和 Linux 系统底层原理，擅长性能优化。曾任职于腾讯、阿里巴巴，有丰富的项目性能优化和架构经验。</p><p>你会学到什么？</p><ul><li>深入底层，全面建立性能优化知识体系；</li><li>高手思路，掌握大厂性能调优方法论；</li><li>三大模块，实战内存+速度+包体积优化；</li><li>玩转“黑科技”，轻松实现性能优化进阶。</li></ul><p>连接：<a href="https://s.juejin.cn/ds/iPCuKAv3/">https://s.juejin.cn/ds/iPCuKAv3/</a></p><h3 id="掘金小册：Android-应用稳定性剖析与优化"><a href="#掘金小册：Android-应用稳定性剖析与优化" class="headerlink" title="掘金小册：Android 应用稳定性剖析与优化"></a>掘金小册：Android 应用稳定性剖析与优化</h3><p>全方位攻克 Android 应用疑难杂症，实战助力学习前沿优化技术。Pika（陈海亮），Google 开发者专家（Android GDE），掘金移动端签约作者。开源爱好者，多个大厂开源贡献者，擅长性能优化、应用与 JNI 开发。受邀参与多次 Google 活动，如社区说、IO Extented 等。</p><p>你会学到什么？</p><ul><li>全面技能拓展，囊括前沿热门黑科技实战；</li><li>性能优化实践，多个一线开发案例全流程；</li><li>源码到优化，从底层到上层逐步贯通；</li><li>多维度优化，解决应用开发常见疑难问题。</li></ul><p>连接：<a href="https://s.juejin.cn/ds/iPCHR7CP/">https://s.juejin.cn/ds/iPCHR7CP/</a></p><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#x64;&#114;&#x65;&#97;&#x6d;&#x74;&#x61;&#108;&#101;&#x2e;&#x6a;&#x67;&#x40;&#x67;&#x6d;&#x61;&#x69;&#108;&#46;&#x63;&#111;&#109;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-45&quot;&gt;&lt;a href=&quot;#Android-Weekly-45&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #45&quot;&gt;&lt;/a&gt;Android Weekly #45&lt;/h1&gt;&lt;h2 id=&quot;技术文</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #44</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-02-16-Android-Weekly-44/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-02-16-Android-Weekly-44/</id>
    <published>2025-02-15T16:00:00.000Z</published>
    <updated>2025-02-15T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-44"><a href="#Android-Weekly-44" class="headerlink" title="Android Weekly #44"></a>Android Weekly #44</h1><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><a href="https://juejin.cn/post/7470157596633808905">Linux 丨进程僵尸态的实战成因</a>: 文章主要介绍了 Linux 中进程僵尸态的实战成因。一是子进程主线程已退出但有线程卡在 D 态无法退出，导致父进程收不到 SIGCHLD 信号。二是父进程采用 signalfd 处理 SIGCHLD 信号却卡在其他 epoll 事件处理函数中，无法及时处理回收子进程。最后还提及对 AI 与学习方式的观点。</li><li><a href="https://mp.weixin.qq.com/s/mVQq_s6IXssXcZDHq_KXGA">以控制论视角设计移动 OS 中的内存回收策略</a>: 本文从控制论的角度探讨了移动操作系统中内存回收策略的设计方法，提出通过闭环反馈控制（如 PID 控制器）优化内存管理。文章详细分析了如何利用采样、控制器算法及不同内存回收手段来实现高效、响应迅速的内存回收机制，并强调了设计简化和可扩展性的重要性。</li><li><a href="https://mailchi.mp/kotlinweekly/kotlin-weekly-446">kotlin-weekly-446</a>: kotlin weekly 446 期</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI2NDU4OTExOQ==&mid=2247688273&idx=1&sn=943c343e98bbb4a7e4d597e8ad86c89c&chksm=ebcdaf2f6e531a74e9153a61ed0f73cdf6b4a04bde4ac58eb0c059a5de8e30e1e4c4819fecc8&mpshare=1&scene=1&srcid=0215xNhWODIb3YY0sOZQFLBe&sharer_shareinfo=1531593e8734f92f75d28288c8df5b0e&sharer_shareinfo_first=1531593e8734f92f75d28288c8df5b0e">技术人核心竞争力：超越代码的思考</a>: 本文探讨了软件开发人员在编码之外需要关注的思考和原则，包括如何超越需求、流程、协作、管理以及代码本身，从而提升团队效率和产品质量。对于软件开发人员而言，编码无疑是核心技能，自然也是投入时间和精力最多的领域。然而，在实际的业务研发过程中，需求的多变性、团队的紧密协作、用户的即时反馈、现网的故障排查、频繁的会议沟通以及历史负债的累积等因素，往往使得开发工作变得复杂而充满挑战。在这种背景下，开发人员可能会在“夹缝中开发，焦虑中编码”，尤其是在团队和业务规模不断扩大的时候。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTQ4NDUyNg==&mid=2247489029&idx=1&sn=12cb44d3ad4b8b04b8ad2b40f0a88432&chksm=c3c2f97f38d09c5c0ec1d7cb8ff76a70c3dd7b906095b300538808de561ca5ffcd21a8217597&mpshare=1&scene=1&srcid=0213DTjby7Y4rIB05wb1c6bi&sharer_shareinfo=49ab717ee7f50486dd6b3571d45c5487&sharer_shareinfo_first=0040717de7ee9d6ca27787bffb52865d">ANR 详细对比分析安卓 13 VS 安卓 10</a>: 文章详细对比分析了 Android 13 和 Android 10 在处理触摸事件时的 ANR（应用无响应）机制的源码差异，重点介绍了两种系统中 ANR 的检测和处理流程，并通过代码和流程图展示了具体实现细节。文章还深入探讨了 ANR 的判断逻辑、触发条件以及从 Native 层到 Java 层的处理过程。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxNDEwNjk5OQ==&mid=2650538013&idx=1&sn=1b172c2a216668a0b02a2736bf56c878&chksm=823cfadf8a74ae2766cb4d5dd2ae304acd2e5d59bfe97e7b9f1f84bc7cbdac3386e6b5e9265e&mpshare=1&scene=1&srcid=0212dBTzACIePQyi14FEgjgP&sharer_shareinfo=2dec2d49d477e94590f516b0b60b2a84&sharer_shareinfo_first=2dec2d49d477e94590f516b0b60b2a84">淘宝订单列表 Fragment 转场动画卡顿解决方案</a>: 如何应对产品形态与产品节奏相对确定情况下转变为『在业务需求与产品形态高度不确定性的情况下，如何实现业务交付时间与交付质量的确定性』。我们希望通过混合架构（Native 业务容器 + Weex 2.0）作为未来交易终端架构的重要演进方向，在 Native 容器侧充分发挥原生语言的性能优势、常驻 App 的调控与管控能力、手势识别与交互优势来解决体验问题。本专题《淘宝交易终端架构探索》是我们摸索出的部分实践总结，欢迎大家一起交流进步。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxNDEwNjk5OQ==&mid=2650535396&idx=1&sn=2c3024096907038c6052de089c52c113&chksm=82eace53bfa44d4cb3e1aa4afeb92a091152d9df5ce19ce9bb8adf6db23a1bb367b08afccf9b&mpshare=1&scene=1&srcid=0210QhcTMSjLMczD3Um7YszY&sharer_shareinfo=f18e510f455402e232db6977ad020eb9&sharer_shareinfo_first=f18e510f455402e232db6977ad020eb9">淘宝页面首帧优化的经验和心得</a>: 文章分享了淘宝移动端页面首帧优化的经验和心得，从优化的必要性、衡量标准、性能问题分析到具体优化策略，详细阐述了如何提升用户体验并降低成本，同时提出了防止性能劣化的机制和持续迭代的重要性。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxNDEwNjk5OQ==&mid=2650537971&idx=1&sn=06fa650d24c5742bfc3af4d0d79c39ff&chksm=8235c1c4dd9b73c7ff5a1b268460cebdccbea0798713c7619c0c57b0d124abfec8f4c88b7df5&mpshare=1&scene=1&srcid=0210Gu35dFGZLKVRpDeOxRDW&sharer_shareinfo=6af7d235cdf9b9dd32590e3fbc76a92f&sharer_shareinfo_first=6af7d235cdf9b9dd32590e3fbc76a92f">淘宝 App 交易链路终端混合场景体验探索</a>: 如何应对产品形态与产品节奏相对确定情况下转变为『在业务需求与产品形态高度不确定性的情况下，如何实现业务交付时间与交付质量的确定性』。我们希望通过混合架构（Native 业务容器 + Weex 2.0）作为未来交易终端架构的重要演进方向，在 Native 容器侧充分发挥原生语言的性能优势、常驻 App 的调控与管控能力、手势识别与交互优势来解决体验问题。本专题《淘宝交易终端架构探索》是我们摸索出的部分实践总结，欢迎大家一起交流进步。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxNDEwNjk5OQ==&mid=2650537506&idx=1&sn=5a023293f7064660ea52a1fe7e5ced5d&chksm=82dfa6f5673c51b401724c12259828fe1742d5e3f8815c67ee7cf3e7bb3937b87e945f2c3cd2&mpshare=1&scene=1&srcid=0210LzD8MWv9lC6ozUOCiqr2&sharer_shareinfo=8f0db972abd4ecb2d75a439e9d568ba9&sharer_shareinfo_first=8f0db972abd4ecb2d75a439e9d568ba9">Weex 购物车长列表横滑操作优化“编年史”</a>: 文章回顾了 Weex 购物车在长列表横滑操作优化上的历程，从基础实现到细节提升，展示了团队如何通过不断迭代优化用户体验，并展望了未来的改进方向。</li><li><a href="https://juejin.cn/post/7471664825995657216">一句话说透 Android 里面的如何正确管理 Binder 对象的生命周期</a>: 一篇文章深入探讨了如何正确管理 Android 中 Binder 对象的生命周期，避免内存泄漏和线程安全问题，同时提供了详细的代码示例和操作指南。</li><li><a href="https://juejin.cn/post/7471241405866229810">一文简单了解 Android View 绘制流程</a>: 文章主要介绍了 Android View 的绘制流程，包括 Activity 中 View 的层次和职责，View 显示的流程，以及 View 绘制中 measure、layout、draw 的执行细节。如 measure 中测量模式和子 View 的 MeasureSpec 确定规则，layout 中 ViewGroup 与子 View 的布局递归调用，draw 的六个步骤等。</li><li><a href="https://juejin.cn/post/7470916546283864115">深入理解 Jetpack Lifecycle(原理篇)</a>: 文章深入分析了 Android Jetpack 的 Lifecycle 组件的原理，包括其核心成员 LifecycleOwner 、LifecycleObserver 、Lifecycle 及它们之间的关系，还探讨了 Activity、Fragment 如何实现 LifecycleOwner ，Lifecycle 与 LifecycleRegistry 的关联，生命周期的传递机制，最后总结并表示下篇将聊 LiveData 。</li><li><a href="https://android-developers.googleblog.com/2025/02/second-beta-android16.html">The Second Beta of Android 16</a>: Android 开发者博客发布了 Android 16 第二个 Beta 版本，新增了专业相机功能、图形效果支持、性能框架扩展，以及隐私、安全和后台任务相关的功能改进。此外，还包括一系列开发者工具和 API 更新，帮助开发者优化应用兼容性和用户体验。</li><li><a href="https://juejin.cn/post/7470457106844844071">Dart 3.7 发布，快来看看有什么更新吧</a>: 在聊 Dart 3.7 发布的之前，就不得不提 Dart 宏功能推进暂停 ，在春节期间，Dart 团队决定，由于宏的性能具体目标还太遥远，团队决定把当前的实现回归到编辑（例如静态分析和代码完成）和增量编译（热重载的第一步）上。关于数据支持，具体在于重新投资 Dart 中的数据实现，因为这也是 Dart &amp; Flutter issue 里请求最多的问题，事实上一开始 Dart 对宏支持的主要动机，也是为了提供更好的数据序列化和反序列化，但是目前看来，通过更多定制语言功能来实现这一点更加实际。另外，Dart 团队目前已经在研究改进 build_runner 性能和推出 augmentations language feature （可能以略有不同的形式）支持，最终目的是找到更直接和方便的方法，来支持建模数据以及处理序列化和反序列化适配。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247492796&idx=1&sn=a02010e4364615bf7b82b21e9878590e&chksm=cfcc74d7cdd6d99a3f8934f37d465f852590a3af147a3e66b8325e5405c7641088d3ddf5ab55&mpshare=1&scene=1&srcid=02124tSiEiimJtEwYriWbMzW&sharer_shareinfo=3e0a3e10413549db711de8dae5d2d426&sharer_shareinfo_first=3e0a3e10413549db711de8dae5d2d426">Flutter 的 Widget Key 提议大调整？深入聊一聊 Key 的作用</a>: 在 Flutter 里，Key 对象存在的目的主要是区分和维持 Widget 的状态，它是控件在渲染树里的「复用」标识之一，这一点在之前的《深入 Flutter 和 Compose 在 UI 渲染刷新时 Diff 实现对比》 聊到过，可以说 Key 的存在关乎了 Flutter 的性能，因为它的作用就是提高 Element Tree 的复用效率，例如减少匹配阶段所需的 Widget 比较次数。</li><li><a href="https://juejin.cn/post/7469809220646010916">记一次无障碍测试引发 app 崩溃问题的排查与解决</a>: 这篇文章主要讲述了 APP 发版前自动化测试中出现的崩溃问题及解决过程。因无障碍测试引发 crash，经排查定位到问题代码，验证后得出两种解决方案，项目采用了其一。最后还进行了思考，提出测试人员应完善日志捕获，开发人员应深入分析根本原因，以提升代码质量和配合效率。</li><li><a href="https://juejin.cn/post/7470457106844827687">Flutter 3.29 发布，看起来会是一个“大坑”的版本</a>: Flutter 3.29 发布，带来众多更新与变动。包括 Cupertino 和 Material 的更新，Web 相关改进，Engine 方面的优化，新功能如 Backdrop filter 优化等，DevTools 的改进，重大更改和弃用等。此版本变动较大，升级需谨慎评估，文中还提及多窗口支持进展和宏支持停止等内容。</li><li><a href="https://juejin.cn/post/7470457106844794919">WM 与 SF 的交互机制——Transaction</a>: 文章介绍了 Android framework 中 WM 与 SF 交互的基本机制——Transaction。先讲解了准备知识，包括 SurfaceControl 与 Layer 的关系及通信需求。接着分析了 Transaction 类在 Java 层和 native 层的定义，以 setPosition、apply、merge 方法为例阐述其桥梁作用，最后探讨了设计该机制的优点，如减少 IPC 通信、保证变换同步、具备扩展性等。</li><li><a href="https://android-developers.googleblog.com/2025/02/trustedtime-api-introducing-reliable-approach-to-time-keeping-for-apps.html">TrustedTime API: Introducing a reliable approach to time keeping for your apps</a>: Android 开发者博客最新文章介绍了 TrustedTime API，它是一个提供可靠时间戳的新工具，旨在解决设备本地时间可能被篡改的问题。它通过 Google 的基础设施提供可信的时间源，支持多种应用场景，如金融、游戏、电商等。API 集成简单，适用于 Android 5 及以上版本设备。</li><li><a href="https://zhuanlan.zhihu.com/p/21449950890">技术简报 2025 第二期</a>: 技术简报 2025 第二期文章汇总了多个编程和技术资源链接，涵盖方差计算、C++资料、系统设计思想、自动化复杂性、MESI 协议、ARM 无锁编程、追踪工具、eBPF 资源以及 Linux 内核和用户空间追踪器分析等内容，同时还提到了一些技术竞赛和系统设计案例。</li><li><a href="https://juejin.cn/post/7469978939273429026">Android V app 冷启动 (1) Activity 生命周期</a>: 文章主要分析了 Android 中从竖屏的 Launcher 冷启动王者荣耀这一过程中 Activity 的生命周期，包括 ATMS 处理启动请求、ActivityStarter 构建窗口层级和启动流程，以及 RootWindowContainer 暂停后台 Tasks 与拉起进程等各阶段的详细步骤和相关代码逻辑。还介绍了进程起来后的 attach app 流程和最终通知 app 端启动 activity 的过程。</li><li><a href="https://juejin.cn/post/7470366797852295202">Android V app 冷启动(2) 窗口层级的构建</a>: 根据 Android V app 冷启动 (1) Activity 生命周期 分析，在第一阶段启动中，会构建窗口层级。但是，我打算以授人以渔的方式来讲解，即分析框架，而不是分析具体的流程。</li><li><a href="https://juejin.cn/post/7470811801721421876">Android V app 冷启动(3) 添加启动窗口</a>: 文章围绕 Android V app 冷启动添加启动窗口展开，详细分析了相关代码和流程。从检测是否显示启动窗口，到包装数据，再到创建和添加启动窗口，涉及多个类和方法的交互，最终通过多线程方式为启动窗口创建 View 并通过 WindowManager 添加。</li></ol><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><ol><li><a href="https://mp.weixin.qq.com/s?__biz=MzAwMDYyODYzMA==&mid=2247483986&idx=1&sn=082a8f69f87a0ffd7dc3fafb6a45864e&chksm=9b9f6d3ab15ed10b8ca1bf742a73f6411d291340914a09fc1a8e826e501c5637de854b898451&mpshare=1&scene=1&srcid=0215D2dottfLjjcDu4uztz7K&sharer_shareinfo=e5fa483184e2104eacab77b1cbd9f9b9&sharer_shareinfo_first=e5fa483184e2104eacab77b1cbd9f9b9">软技能—代码之外的生存指南 读书笔记</a>: 这篇文章是关于《软技能——代码之外的生存指南》一书的读书笔记，重点介绍了程序员如何从职业发展的角度更好地管理自己的职业生涯。文章总结了书中的核心内容，并结合作者的个人经验，提供了关于职业规划、目标设定、人际交往、面试技巧、公司选择、晋升策略、辞职建议及技术观念的具体建议。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MjM5ODQ5NzMzMg==&mid=2247487204&idx=1&sn=1ef1456c326c5a11f04c1b9c73d69bff&chksm=a7af2c038728bb40c5d3125446c25ff88d3a4f098bb13f8b1c476664503961d59ecab33edec8&mpshare=1&scene=1&srcid=0213JGtQrXb0ZyTbBOE8Y4AI&sharer_shareinfo=afbd9cf2fcdc7aef9ad6753885f169aa&sharer_shareinfo_first=0ae9e12369c6378641c1426e5f516018">从提问到输出：何谓信息 ｜上野千鹤子</a>: 本文深入探讨了信息生产的过程，从提问到输出，涵盖了信息的本质、提问的重要性、研究方法、原创性、资料收集、写作风格以及信息传播等多个方面。作者上野千鹤子通过自己的学术经验，分享了如何成为一个有效的信息生产者，并强调了提问能力、原创性和对公共知识财产的贡献。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzU1NDM5OTAzOQ==&mid=2247498475&idx=1&sn=2e7d71780558971119a905ddf8e8a7c6&chksm=fa8aa01e34499b93473b1577a7c4640cb71a69dcf01779cde03fae7ce665c4400f555979cb01&mpshare=1&scene=1&srcid=0210bSbQnBWhJSUdCckrkcxo&sharer_shareinfo=36fa1eca0fb701a14a077b62069de5d3&sharer_shareinfo_first=36fa1eca0fb701a14a077b62069de5d3">高通 2025 财年 Q1 财报深度分析：汽车业务增长 60%</a>: 高通 2025 财年 Q1 财报显示，其营收和净利润分别同比增长 17%和 15%。汽车业务增长最快，同比增长 60%，但增速放缓。智能手机和物联网市场需求回暖促使整体业绩上升，但苹果基带业务的不确定性和智能手机市场的低增长预期仍是潜在挑战。高通通过 AI、5G、边缘计算等领域的研发投入，巩固技术优势，同时在汽车和 IoT 业务上展现出强劲增长潜力。</li><li><a href="https://zhuanlan.zhihu.com/p/24038123207">读《智人之上》</a>: 《智人之上 ——从石器时代到 AI 时代的信息网络简史》这本书的读书笔记</li><li><a href="https://www.36kr.com/p/3168691040971520">芯片，大变局</a>: 文章探讨了全球半导体行业，尤其是中国台湾和韩国在地缘政治与市场竞争压力下的变局。台积电、联电等台湾企业面临美国关税压力和供应链外移挑战，同时也需应对中国大陆代工厂的崛起。韩国半导体企业则在存储芯片领域中受到来自中国和美国的双重压力，需要调整战略以保持竞争力。</li><li><a href="https://www.hackthinking.com/weekly/2025/02-16-vol31">vol31.重启你的好奇心</a>: 这篇文章涵盖了多个主题，包括个人成长、技术设计、产品价值定义、AI 应用构建的陷阱，以及如何重新激发好奇心等。它通过理论分析、案例探讨和工具推荐，提供了广泛的知识和见解。</li><li><a href="https://weekly.howie6879.com/2025/02-10~02-16.%E8%80%81%E8%83%A1%E7%9A%84%E5%91%A8%E5%88%8A%EF%BC%88%E7%AC%AC177%E6%9C%9F%EF%BC%89.html">02-10~02-16.老胡的周刊（第 177 期）</a>: 老胡的信息周刊，记录这周我看到的有价值的信息，主要针对计算机领域，内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。</li><li><a href="https://mp.weixin.qq.com/s/u-lEKzoR5JT0Icex-DPIKQ">如何有效做好近 3-6 个月的时间管理——针对多线程任务的动态平衡法</a>: 如何有效做好近 3-6 个月的时间管理，文章提出了一种动态平衡法，通过目标导向和弹性任务池等方法，帮助在多线程任务中找到平衡，提升执行力和掌控感。</li><li><a href="https://letters.acacess.com/weekly-185/">DPS 周刊 185 - Kevin Kelly 的旅行建议</a>: 这篇文章分享了 Kevin Kelly 长达 50 多年的旅行经验和见闻，涵盖了旅行中的心得、建议以及作者和朋友们的不同旅行故事。这些内容不仅展示了丰富的旅行体验，还为读者提供了关于旅行计划、文化探索和生活哲理的深刻见解。</li><li><a href="https://zhuanlan.zhihu.com/p/23373332603">技术管理之“做一个四大工程师”</a>: 何为大情怀？一是做任何事情都要有激情，而不是只为了混一口饭吃。二是有大的理想抱负，已经解决了温饱问题时候，多少还是要争取做一些大事，做一些对社会和他人有价值的事情。今天研讨时候大家提到了一个专家脑子僵化的问题。确实 deepseek 目前火爆打破了很多认知，一群刚毕业的学生做出了震惊世界的产品，会让多少人和公司汗颜。众多院士，国内大公司都有那么多专家和人才，怎么都做出来呢。我们这些所谓专家在新 AI 时代如何自处。</li></ol><h2 id="AI"><a href="#AI" class="headerlink" title="AI"></a>AI</h2><ol><li><a href="https://javayhu.com/ge-ren-zhi-shi-ku-da-jian-jiao-cheng/">个人知识库搭建教程</a>: 本文介绍如何基于 DeepSeek V3 模型+Obsidian 搭建个人知识库，效果就是你可以对 Obsidian 工作区的笔记进行提问，让 AI 帮你梳理和总结。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk2NDYxNTQ5Mg==&mid=2247483728&idx=1&sn=70617b615849d7f8c9c525aea6d33507&chksm=c57d7d98a88029ac47377f79fda7f126f93c58596c38e9426311f11efbacf73c8ffb7afb96c0&mpshare=1&scene=1&srcid=0213wruGpWUlwRHKiFSxqD43&sharer_shareinfo=e6e0f38daa2087506dcf5cd8e460602a&sharer_shareinfo_first=e6e0f38daa2087506dcf5cd8e460602a">DeepSeek 高效率使用的指南</a>: 本文详细探讨了如何高效使用人工智能工具（如 DeepSeek 和 ChatGPT），重点在于提问的技巧和思维方式的培养。文章分为多个部分，覆盖了从掌握领域知识到优化提问，再到批判性思维和探索性提问的方法。</li><li><a href="https://www.bilibili.com/video/BV1bnNDeFELK/?vd_source=0c6d2191e785de0a36dc21a9da7e664e">最好的致敬是学习：DeepSeek-R1 赏析</a>: 和真格联合推出了一个面向非技术人群（我怎么每次都是面向这个人群）的 DeepSeek R1 创新亮点分享会（由我司首席科学家 Peak 提供 tech review，确保我没有瞎讲）。用通俗易懂的方式带大家过了一次 R1 和 V3 的技术报告。让你可以理解在这之前业界都有哪些问题和疑惑，DeepSeek 是怎样去解题的，以及其中的几个重要闪光点。后半场我们讨论了从中能看到未来 LLM 应用会有哪些新范式和产品可能性。同时对最近一段时间的各种光怪陆离的谣言和伪概念进行一个解释</li><li><a href="https://www.edony.ink/how-to-study-deepseek-by-myself-1/">关于 DeepSeek 我是怎么研究的(1)</a>: 抛开纷繁复杂的信息从 DeepSeek 最原始的论文和报告入手研究，避免被外界立场影响，建立自己对 DeepSeek 的认知。这会是一个系列文章，首先研究清楚 DeepSeek 归属的 Reasoning Language Model (RLM)的概念、核心组件及其工作原理，强调了 RLM 结合大型语言模型生成能力和高级推理机制的特点。</li><li><a href="https://www.edony.ink/how-to-study-deepseek-by-myself-2/">关于 DeepSeek 我是怎么研究的(2)</a>: 本文探讨了 DeepSeek 如何应用 System 1 Thinking 和 System 2 Thinking 来优化其模型。System 1 Thinking 快速、直观，基于模式匹配；而 System 2 Thinking 缓慢、深思熟虑，基于逻辑推理。通过结合这两种思维方式，DeepSeek 能够在生成推理步骤和评估推理路径方面更高效地解决复杂问题。</li><li><a href="https://zhuanlan.zhihu.com/p/22568739817">性能周刊 2025-02-09 第 6 期</a>: 本文是《性能周刊》第 6 期，涵盖了多篇关于性能分析与优化的文章，内容涉及 Linux 性能分析工具 perf 的使用、火焰图的生成与解读、eBPF 与 bcc 的使用示例、Linux 内核进程管理、Profiling 工具与方法、编译优化技术以及可观测性模型等多个主题，适合对性能优化感兴趣的读者深入学习。</li><li><a href="https://androidweekly.net/issues/issue-662">Android Weekly Issue #662</a>: 《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。</li><li><a href="https://baoyu.io/translations/cursor-editing-1000-tokens-per-second">Cursor: 以每秒 1000 个 Token 的速度编辑文件</a>: 一种新的模型和推理方法，可在 1000 tokens&#x2F;s 的速率下对整个文件进行高精度编辑。</li><li><a href="https://baoyu.io/translations/bret">什么是 AI 架构师？ — Bret Taylor</a>: 以下内容整理自播客“Latent Space”最近的一期“The AI Architect — Bret Taylor”，邀请到了嘉宾是 Bret Taylor，是一位拥有传奇经历的 Sierra CEO、OpenAI 主席，以及 Google Maps &#x2F; Facebook Likes 的缔造者，在节目中分享了他对软件工程未来的见解，以及在 AGI 曙光降临之际，如何打造优秀的产品和团队。内容比较长，但是值得认真看看，我对于一些有价值的内容已加粗，如果时间有限，也可以挑重点看看。</li></ol><h2 id="课程推荐"><a href="#课程推荐" class="headerlink" title="课程推荐"></a>课程推荐</h2><h3 id="掘金小册：Android-性能优化"><a href="#掘金小册：Android-性能优化" class="headerlink" title="掘金小册：Android 性能优化"></a>掘金小册：Android 性能优化</h3><p>原理+实战+进阶，全面掌握 Android 性能优化，作者赵子健，Android GDE，字节跳动资深 Android 开发工程师，现负责飞书客户端性能品质优化工作。熟悉 Android 和 Linux 系统底层原理，擅长性能优化。曾任职于腾讯、阿里巴巴，有丰富的项目性能优化和架构经验。</p><p>你会学到什么？</p><ul><li>深入底层，全面建立性能优化知识体系；</li><li>高手思路，掌握大厂性能调优方法论；</li><li>三大模块，实战内存+速度+包体积优化；</li><li>玩转“黑科技”，轻松实现性能优化进阶。</li></ul><p>连接：<a href="https://s.juejin.cn/ds/iPCuKAv3/">https://s.juejin.cn/ds/iPCuKAv3/</a></p><p><a href="https://s.juejin.cn/ds/iPCuwFBh/">https://s.juejin.cn/ds/iPCuwFBh/</a> (二维码自动识别)</p><h3 id="掘金小册：Android-应用稳定性剖析与优化"><a href="#掘金小册：Android-应用稳定性剖析与优化" class="headerlink" title="掘金小册：Android 应用稳定性剖析与优化"></a>掘金小册：Android 应用稳定性剖析与优化</h3><p>全方位攻克 Android 应用疑难杂症，实战助力学习前沿优化技术。Pika（陈海亮），Google 开发者专家（Android GDE），掘金移动端签约作者。开源爱好者，多个大厂开源贡献者，擅长性能优化、应用与 JNI 开发。受邀参与多次 Google 活动，如社区说、IO Extented 等。</p><p>你会学到什么？</p><ul><li>全面技能拓展，囊括前沿热门黑科技实战；</li><li>性能优化实践，多个一线开发案例全流程；</li><li>源码到优化，从底层到上层逐步贯通；</li><li>多维度优化，解决应用开发常见疑难问题。</li></ul><p>连接：<a href="https://s.juejin.cn/ds/iPCHR7CP/">https://s.juejin.cn/ds/iPCHR7CP/</a></p><p><a href="https://s.juejin.cn/ds/iPCH1PjR/">https://s.juejin.cn/ds/iPCH1PjR/</a> (二维码自动识别)</p><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#x64;&#x72;&#x65;&#97;&#x6d;&#116;&#97;&#x6c;&#101;&#x2e;&#x6a;&#103;&#x40;&#103;&#109;&#x61;&#105;&#x6c;&#x2e;&#99;&#x6f;&#x6d;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-44&quot;&gt;&lt;a href=&quot;#Android-Weekly-44&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #44&quot;&gt;&lt;/a&gt;Android Weekly #44&lt;/h1&gt;&lt;h2 id=&quot;技术文</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #43</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-02-09-Android-Weekly-43/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-02-09-Android-Weekly-43/</id>
    <published>2025-02-08T16:00:00.000Z</published>
    <updated>2025-02-08T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-43"><a href="#Android-Weekly-43" class="headerlink" title="Android Weekly #43"></a>Android Weekly #43</h1><blockquote><p><strong>Android Weekly</strong> 是一份专注于 Android 技术生态的周刊，每周一更新。本周刊深入挖掘 Android 系统架构、性能优化、跨平台开发等领域的高质量技术内容，为开发者提供持续的知识更新与技术洞察。  </p></blockquote><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><a href="https://juejin.cn/post/7467176180351729699">详解 DiffUtils、Myers 算法和 Jetpack Compose</a>: 本文详解了 DiffUtils、Myers 算法和 Jetpack Compose。DiffUtils 是 Android 中优化列表更新的工具，依赖 Myers 算法计算最小更改。文中介绍了其工作原理、应用示例和在 RecyclerView 中的作用。Jetpack Compose 基于声明性 UI 原则，由状态驱动 UI 自动重组，内置优化且智能跳过未变元素重组，无需 DiffUtils，可通过带 Keys 的 LazyColumn 等工具实现类似优化，还列举了相关面试问题和结论。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzU5NjkxMjE5Mg==&mid=2247485393&idx=1&sn=025f763f5eec1a7114a18212b9dc2b08&chksm=ff0c0b28c37466e199e41e267a0757f7dc7bb9875fd61707040d2148934e43d4c26391f80b2d&mpshare=1&scene=1&srcid=0207tZ5rj2V8SmvHj67hLNhA&sharer_shareinfo=50710108b04b3ee345ca7ee8516ff516&sharer_shareinfo_first=50710108b04b3ee345ca7ee8516ff516">结合源码和 Perfetto 分析 Android 渲染机制</a>: 本文结合源码和 Perfetto 工具，详细解析了 Android 渲染机制，包括渲染流程、关键组件的源码分析、Vsync 信号的处理和 Perfetto 的应用。通过深入的技术分析，文章回答了多个与 Android 渲染相关的问题，并提供了性能优化的建议和参考资料。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzU5NjkxMjE5Mg==&mid=2247485407&idx=1&sn=ad919bd0852e45b16c72198a95fb0ccd&chksm=ff66800a9364d3dfa217960d24010ee3629fc055f4e902a9bca6125cf50a1b27eda400ec626d&mpshare=1&scene=1&srcid=0207la8BdCTFRID2poGDcvP9&sharer_shareinfo=ea7f1f6e757cdc8c0923916a475f3fbf&sharer_shareinfo_first=ea7f1f6e757cdc8c0923916a475f3fbf">GPU 硬件加速提升渲染流畅度</a>: 文章详细分析了 Android 系统中如何通过 GPU 硬件加速提升渲染流畅度，特别是在动画和复杂渲染场景中的优化。文章从影响渲染流畅度的因素入手，深入探讨了 GPU 硬件加速的源码实现、动画优化的机制，以及通过 RenderThread 提升动画流畅度的具体方法，并提供了 Perfetto 工具的对比分析。</li><li><a href="https://android-developers.googleblog.com/2025/02/meet-the-android-studio-team-Jamal-Eason.html">Meet the Android Studio Team: A Conversation with Director of Product Management, Jamal Eason</a>: 本次专访中，产品管理总监 Jamal Eason 分享了他在 Android Studio 的职业旅程、独特视角以及对开发者社区的深刻理解。他强调了产品质量、AI 集成（如 Gemini）以及 Crashlytics 和 Play 的应用质量洞察功能对开发者的影响。团队通过开发者反馈、用户研究和与 Android OS 团队的紧密合作，确保工具的不断改进。</li><li><a href="https://androidweekly.net/issues/issue-661">Android Weekly Issue #661</a></li><li><a href="https://juejin.cn/post/7469046079981912098">Android 字节码处理-使用 AsmClassVisitorFactory 插桩</a>: 这篇文章主要介绍了在 Android 开发中使用 ASM 字节码处理技术，通过插桩的方式修改 Java 类的行为，包括增加、删除和修改字段或方法等操作，同时对相关代码实现进行了详细解读。</li><li><a href="https://juejin.cn/post/7469001751493263396">深入浅出 Android 事件分发机制</a>: 这篇文章深入浅出地介绍了 Android 事件分发机制，包括基础概念、事件分发起点、View 和 ViewGroup 的分发流程、事件响应及面试场景题。基础概念涵盖 View 和 ViewGroup、MotionEvent 等；分发起点从页面结构和初始分发过程说明；View 和 ViewGroup 的分发流程详细阐述了方法职责和相关代码；事件响应讲解了不同触摸动作的处理逻辑；面试场景题针对常见问题给出答案。</li><li><a href="https://juejin.cn/post/7468989856711163913">Frida 实现 JNI 方法地址跟踪、反汇编、Patch</a>: 文章主要介绍了使用 Frida 实现 JNI 方法地址跟踪、反汇编、Patch 的过程。包括利用 Frida 的反汇编 API 分析目标进程代码，通过一系列步骤找到并 hook RegisterNatives 方法获取 JNI 方法信息，反汇编 JNI 方法的机器码，以及修改汇编指令实现 Patch 并给出完整代码和示例效果。</li><li><a href="https://www.androidperformance.com/2025/02/08/Android-ANR-01-ANR-Design/">Android ANR 系列 1 ：理解 Android ANR 设计思想</a>: 本文为 Android App ANR 系列的第一篇，主要是从系统的角度来剖析 Android ANR 的设计思想</li><li><a href="https://www.androidperformance.com/2025/02/08/Android-Perfetto-04-Open-Big-Trace-With-Command-Line/">Android Perfetto 系列 4：使用命令行在本地打开超大 Trace</a>: 本篇是 Perfetto 系列文章的第四篇，如何使用 trace_processor_shell 在本地打开超过 2G 的大文件。在实际的问题分析过程中，我们经常会碰到非常大的 Trace 文件（大于 2GB），直接扔进 ui.perfetto.dev 是没法打开的，这是因为浏览器内存的限制。这时候我们就需要使用官方提供的 trace_processor_shell 工具来本地打开大文件。</li><li><a href="https://juejin.cn/post/7468953785584779315">Compose 与原生 UI 混排原理解析</a>: 文章主要介绍了 Compose 在 Android 和 iOS 平台上与原生 UI 混排的原理及使用方式。Android 上通过 AndroidView 实现，包括创建父 ViewGroup 和关联的 LayoutNode 等处理测量、布局、绘制、触摸事件。iOS 上采用“挖洞”方案，添加 InteropContainer 承载 UIView，处理视图显示、背景设置、事件分发和顺序等，同时也指出了 iOS 混排方案的一些限制。</li><li><a href="https://zhuanlan.zhihu.com/p/708244292">鸿蒙内核论文阅读</a>: 陈海波老师领衔的华为团队在 OSDI24 上发表了鸿蒙内核的论文：Microkernel Goes General: Performance and Compatibility in the HongMeng Production Microkernel，舆论场上不出意料又是神兔大战，很少有人讨论技术本身，出于好奇去学习了下原文，讲笔记整理成问答的形式:</li><li><a href="https://juejin.cn/post/7468890800534044713">Android Gradle 学习（八）- gradle 任务解析</a>: 这篇文章主要介绍了 Android Gradle 中一系列任务的解析，包括构建.&#x2F;gradlew assembleDebug 过程中的众多任务，如 compileDebugAidl、packageDebugRenderscript 等，还提到了任务的创建、重要任务的分析、相关类以及具体的操作过程。此外，文章还阐述了任务的应用，如在任务间插入操作实现自动上传 APK 或添加自定义的清理任务，并对整体内容进行了总结。</li><li><a href="https://zhuanlan.zhihu.com/p/22050695107">使用自定义调度程序暴露并发错误</a>: Jake Hillion 在 FOSDEM 上做了一个演讲，介绍了如何使用 sched_ext（一种在内核版本 6.12 中引入的 BPF 调度框架）来帮助发现难以捉摸的并发问题。他与 Johannes Bechberger 合作，构建了一个调度器，能够在几分钟内揭示测试代码中理论上可能但尚未观察到的并发错误。由于他们的调度器仅依赖于主线内核功能，理论上可以应用于任何在 Linux 上运行的应用程序——尽管由于项目还处于早期阶段，仍有一些需要注意的事项。</li><li><a href="https://blog.csdn.net/learnframework/article/details/145489820">安卓 prop&#x2F;SystemProperties 如何监听值变化</a>: 在安卓开发过程中，无论是系统还是 app 层面都会经常接触到相关的 prop 相关的设置和读取，这个和 settings 数据其实一样的，但是 prop 相比 settings 少了一个时刻监听 prop 的变化，即 prop 变化后要及时通知到其他进程，这样其他进程接受到了 prop 变化后也可以及时进行相关的业务处理，如果 prop 变化后没有相关的通知回调方法的话，那就只能靠不断轮询 getprop，这样即无法保证实时性，也严重损坏性能。所以基于以上的背景，今天带大家实现一下 prop 变化后相关的监听方法及触发 prop 变化回调方法</li><li><a href="https://juejin.cn/post/7467859145792405531">AI 也能”看懂”图片： 移动端相册 AI 搜图的奥秘</a>: 这篇文章主要介绍了移动端相册 AI 搜图的相关内容。包括 Android 手机相册搜图功能，Clip 模型及其原理、开发 AI 搜图应用的步骤，如通过开源项目 PicQuery 讲解关键组件、预处理、编码器等，还提及关键技术亮点、性能优化策略、技术挑战与解决方案，最后总结了其为图片检索带来的新体验。</li><li><a href="https://blog.csdn.net/learnframework/article/details/145460484">lmk 内存压力测试工具 mem-pressure 源码剖析</a>: android 系统开发过程中，经常会遇到一些 low memory kill 的问题，在分析这些系统低内存导致被杀问题时候，经常因为不好复现而成为一个比较烦恼的阻碍。因为这种低内存问题本身就不属于一种功能操作类型的问题，属于一种系统当前可使用的内存少导致的问题，所以分析这类 lmk 低内存被杀的情况迫切需要一种可以帮助我们复现系统低内存的工具，今天马哥就给大家介绍一个内存压力工具 mem-pressure 详细使用和源码剖析。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzUzNzg4Nzc3MQ==&mid=2247485126&idx=1&sn=0b59ea812a2f0eedcf7de12986d99cbd&chksm=fbafde0216ffbfe4fbb5099f6ad2c2cb83630ee86c5da54ae9ec7cd75c1ed986d99f28a30760&mpshare=1&scene=1&srcid=0204EBmVUAlccQp8G0Kw32Dm&sharer_shareinfo=a4cb3d9e576db809f2a6e609010b59f5&sharer_shareinfo_first=a4cb3d9e576db809f2a6e609010b59f5">DeepSeek-R1 论文解析——人工智能领域的 RL LLM 新时代？</a>: DeepSeek-R1 论文解析介绍了一种开创性的开源推理模型，通过强化学习增强大型语言模型的推理能力。文章详细探讨了模型的训练流程、性能表现以及与其他模型的对比。</li></ol><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><ol><li><p><a href="https://tw93.fun/2025-02-02/my-2024.html">2024 年总结 - 持续迭代</a>: 文章总结了作者在 2024 年的生活、工作、家庭、兴趣及个人成长的多个方面，主题围绕“持续迭代”，分享了育儿体验、生活感悟、职业发展、健康管理、投资学习以及输出成果等内容，并展望了 2025 年的目标和计划。  </p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=Mzg2NDgzNTQ4MA==&mid=2247771909&idx=1&sn=62fcbfc9bb82098fc81a9e7989d0df41&chksm=cf2d074bdfa429124c538459164a9723a9b20f3452089adf3a66288ba77db547272504febe29&mpshare=1&scene=1&srcid=0205FM29PDS0I3J9og4cQ6AB&sharer_shareinfo=049407a3111b4a1e29fd6c4a70b5eb40&sharer_shareinfo_first=90d9cfed0d8a560667b6f1a46fce0b4b">张忠谋两万字访谈：谈黄仁勋、28nm、苹果和其他</a>: 近日，在英伟达 CEO 黄仁勋的牵线搭桥下，美国博客 Acquired 采访了台积电创始人张忠谋。在这个两个多小时的对话中，张忠谋分享了他与英伟达黄仁勋如何结缘，公司与苹果合作的幕后故事，以及他豪赌 28nm 并大获成功的故事。  </p></li><li><p><a href="https://api-docs.deepseek.com/zh-cn/prompt-library">Deepseek 官方提示库</a>:  </p></li><li><p><a href="https://andysblog.uk/why-blog-if-nobody-reads-it/">Why Blog If Nobody Reads It?</a>: 即使没有人阅读你的博客，写博客仍然具有深远的价值。写作迫使你理清思路，提升观点表达能力，记录思想的演变过程，成为未来的时间胶囊。或许某天，一位读者会在恰当的时刻发现你的文字，从而受到启发。持续而有深度的创作比追求一时的流行更有意义。正如街头摄影一样，你记录所见所感，不是为了他人的认可，而是因为那些瞬间值得被捕捉和铭记。  </p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzI4NjAxNjY4Nw==&mid=2650239833&idx=1&sn=de17715a756f4f6551de9cebbbc96908&chksm=f2a177e88e8c54000b121e314194a98fd2757069187fe5ecae413081d22cefdd75285798541d&mpshare=1&scene=1&srcid=02070dOqWFFOfCxTypdPyEXb&sharer_shareinfo=58776483e2b04f9af9bc2a10bb3fb9f6&sharer_shareinfo_first=58776483e2b04f9af9bc2a10bb3fb9f6">科技爱好者周刊#336：面对 AI，互联网正在衰落</a>: 这里记录每周值得分享的科技内容，周五发布。  </p></li><li><p><a href="https://zhuanlan.zhihu.com/p/22516120834">技术管理思考：每天 10min 一对一工作讨论</a>  </p></li><li><p><a href="https://rolen.wiki/mastering-momentum-for-success/">如何提高做事的成功率？</a>: 正如标题写的那样，在过去的一年中，我所认识到最大的收获是，在如何提高做事成功率上有了一些心得和体会。从结论上说：顺势而为 + 减少做事的阻力  </p></li><li><p><a href="https://onojyun.com/2025/02/09/%e5%88%9b%e6%96%b0%e3%80%81%e5%86%85%e5%8d%b7%e4%b8%8e%e7%bb%93%e6%9e%9c%e4%b8%bb%e4%b9%89/">创新、内卷与结果主义</a>: DeepSeek 采用的是「蒸馏技术」，这一点毋庸置疑，所以在这里就不再探讨它的行为本身。毕竟它现在和黑神话悟空一样，已经与爱国主义捆绑，吸纳足够的个体，形成了可以对抗一切个体和其他群体的乌合之众。但是蒸馏技术确实导致了我们可以实感的「结果」的发生，这是一个使用低成本芯片制造的 AI，从而在中国掀起了狂热的浪潮。从结果而言，它就是成功的，这一点也毋庸置疑。先说结论，比起质疑结果，最有效的方式是质疑「动机」。  </p></li><li><p><a href="https://letters.acacess.com/weekly-184/">DPS 周刊 184 - 张忠谋的洞见</a>: 最近听了 Acquired 对于台积电创始人张忠谋的采访，里面提到《张忠谋自传》下册也已经出版了。于是我迅速找来上下两册通读了一番，收获颇大。  </p></li><li><p><a href="https://zhuanlan.zhihu.com/p/22101514822">给 IT 年轻人职业建议 4(“茶壶煮饺子”)</a>: 接着给 IT 行业年轻人的职业建议 3 继续聊一个话题，就是关于工作中如何更好的成长。这次建议不要成为一个“茶壶煮饺子”——有东西倒不出来的技术人员。工作中偶尔会遇到这样的技术人，看起来满腹经纶，知识渊博，但解决一些工作难题和创新上看不出来有任何好的表现。为什么这样，我觉得可能还是跟认知有关。  </p></li><li><p><a href="https://sorrycc.com/ai-illiterate-programmers/">译：AI 正在创造一代文盲程序员</a>: 这是一位开发者分享的经历和反思：他发现自己过度依赖 AI 编程后，coding 能力反而在下降。具体表现为：1) 不再仔细阅读文档，只是复制粘贴错误信息给 AI，2) debug 能力变差，对代码的深度理解也在减弱，3) 如果 AI 五分钟内解决不了问题就会感到烦躁。为了改善这种情况，他提出了一些建议：每周留出”无 AI 日”专注于传统编程方式，在使用 AI 之前先尝试自己解决问题，认真理解 AI 提供的解决方案。  </p></li><li><p><a href="https://lutaonan.com/blog/ai-writing/">AI 和写作</a>: 本文探讨了 AI 在写作领域的作用和潜力。作者指出，尽管 AI 在编程协作中已取得显著效果，但目前的 AI 写作工具多为文本处理辅助，无法真正促进深度思考。写作被视为思维的外化和放大器，是帮助人们完善想法的关键工具。理想的 AI 写作助手应当是非侵入式的，能够在适当时机提供观点反馈、学术支持和风格建议，协助用户深化思考。然而，由于不同写作类型需求各异，开发这样的 AI 助手存在挑战。作者还强调，AI 无法取代写作中人与人之间的情感连接，优秀作品能够引发读者与作者的共鸣，这是 AI 所不能实现的。</p></li></ol><h2 id="本周讨论"><a href="#本周讨论" class="headerlink" title="本周讨论"></a>本周讨论</h2><p>从目前的结果来看，<strong>大模型 + 推理 + 网络搜索</strong> 产出的效果是最好的，那么是否意味着，持续输出高质量的文章在目前的 AI 时代依然是非常重要的。</p><p>你觉得呢？</p><blockquote><p>周六拉了个 AI 相关的讨论群，12 小时内就满 500 人了….大家对 AI 的热情真的是没得说，二群也已经快 300 人了，感兴趣的可以私信我。群里不打广告不割韭菜，纯纯就是之前的 Android 技术群里面的小伙伴们讨论 AI 编程、AI 副业这些内容的。私信：AI 加群  </p><p> 另外最新的技术群也已经满了，照例再建一个新的群，主要还是技术方面的讨论，加了我好友还没加群的可以加(微信号：553000664)。私信：技术群  </p></blockquote><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#x64;&#x72;&#101;&#97;&#x6d;&#x74;&#97;&#x6c;&#x65;&#x2e;&#x6a;&#x67;&#x40;&#x67;&#x6d;&#x61;&#105;&#x6c;&#x2e;&#99;&#111;&#109;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-43&quot;&gt;&lt;a href=&quot;#Android-Weekly-43&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #43&quot;&gt;&lt;/a&gt;Android Weekly #43&lt;/h1&gt;&lt;blockquote</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #42</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-02-03-Android-Weekly-42/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-02-03-Android-Weekly-42/</id>
    <published>2025-02-02T16:00:00.000Z</published>
    <updated>2025-02-02T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-42"><a href="#Android-Weekly-42" class="headerlink" title="Android Weekly #42"></a>Android Weekly #42</h1><p><strong>Android Weekly</strong> 是由 Gracker 精心整理和发布的技术资讯周刊，每周一准时更新，汇聚了过去一周内与 Android 相关的高质量技术文章、泛客户端技术的最新动态，以及其他值得关注的非技术类文章，内容覆盖广泛，从 Android 开发到跨平台技术，从系统底层优化到前沿技术分享，为开发者提供全方位的知识拓展。</p><p>本周刊可以通过微信公众号、知乎专栏、掘金专栏、个人博客、竹白等平台订阅和阅读。</p><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><a href="https://juejin.cn/post/7466016946736693285">Arm64 中 B 跳转汇编的使用是如何实现的</a>: 这篇文章主要讨论了 ARM64 汇编中关于跳转指令（branch）的使用和实现，以及在不同场景下的代码示例和分析。文章通过 C 代码与汇编的对比，详细解释了 bl（跳转并返回）和 b（直接跳转）指令的功能、实现细节及其在不同情况下的应用。此外，还提到了一些特殊场景下的寄存器跳转实现方式。</li><li><a href="https://juejin.cn/post/7465994044336275482">从 0 到 1 掌握 Flutter（一）Flutter 与移动端跨平台</a>: 这篇文章主要介绍了 Flutter 这一跨平台开源框架。包括其定义、优势，如提高开发效率、统一代码开发多平台、创建美观定制的用户体验等。还阐述了跨平台技术的进化史，对比了原生开发、Web 混合开发、React Native 等方案的特点，并强调 Flutter 通过创新架构解决了性能瓶颈，成为跨平台开发的重要选择。</li><li><a href="https://juejin.cn/post/7464145318285377577">系统化掌握 Dart 编程之异常处理（一）：筑基之旅</a>: 异常（Exception）是指程序执行过程中发生的意外情况，可能导致程序崩溃或无法正常工作。Dart 提供了强大的异常处理机制，帮助开发者优雅地捕获和处理这些异常，确保程序的稳定性和可靠性。为了系统化地掌握 Dart 的异常处理，我们将从理论基础、具体实现、实践应用到最佳实践四个层面进行详细讲解。</li><li><a href="https://juejin.cn/post/7466363839857721370">系统化掌握 Dart 编程之异常处理（二）：从防御到艺术的进阶之路</a>: 本文系统化讲解了 Dart 编程中的异常处理，从基础防御到全局设计，涵盖了异常分类、资源管理、异步操作（如 Future、Stream 和 Isolate）的异常处理，以及全局监控与业务逻辑解耦的设计思想。通过“三层金字塔”模型（底层语法防御、中层业务规则、顶层全局监控），构建多层次的异常防御体系，并强调将异常处理视为代码核心架构的一部分，以实现对不确定性的有效管理和持续优化。</li><li><a href="https://juejin.cn/post/7465559908865228841">Now In Android 精讲 6 - UI Layer</a>: 文章主要讲解了 Android 中 UI 层的相关内容，包括界面层的组成、UI state 的定义和管理、事件的类型与理解、状态容器与状态管理（如业务逻辑状态容器 ViewModel 和界面逻辑状态容器），以及状态、状态容器和事件如何串联，强调了遵循单向数据流原则和避免在 viewModel 构造中使用异步方法等要点。</li><li><a href="https://androidweekly.net/issues/issue-660">Android Weekly En Issue #660</a>: Android Weekly En Issue #660</li><li><a href="https://juejin.cn/post/7466698745520111668">2025 年 Android 开发趋势全景解读</a>: 2025 年的 Android 开发者，正在经历从”代码工人”到”智能场景架构师”的转型。那些能快速掌握 Compose、设备端 AI、车载开发三大核心技能的程序员，将在新一轮技术浪潮中占据先机。记住：在这个 AI 生成代码的时代，架构设计能力和硬件理解深度将成为不可替代的竞争力。</li><li><a href="https://lucumr.pocoo.org/2025/1/30/how-i-ai/">How I Use AI: Meet My Promptly Hired Model Intern</a>: Armin Ronacher 在文章中分享了他如何利用多种 AI 工具（如 Open WebUI、ChatGPT 和 Ollama）提升生产力，尤其在内容创作和编程中，通过语法检查、代码生成和调试等方式优化工作效率。他强调 AI 是协作的增强工具而非替代品，并主张以批判性思维使用 AI，同时对“低质量 AI 生成内容”持保留态度，但认为其仍可作为灵感来源。他呼吁在创意和知识产权问题上展开建设性对话，充分挖掘 AI 的潜力。</li><li><a href="https://juejin.cn/post/7464514777227968539">解决 Gradle 依赖下载问题方案汇总</a>: 在使用 Gradle 处理项目构建时，常常会出现构建需要的依赖下载失败的问题。这篇文章就介绍一下如何解决这一类的问题。</li><li><a href="https://letters.acacess.com/daily-productive-sharing-1162/">Daily Productive Sharing 1162 - Thoughts on AGI</a>: OpenAI 的 o 系列模型加速了 AI 在编程和科学领域的优化与自动化进程，但其未来发展仍受限于计算能力和人类社会因素。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247492752&idx=1&sn=127d38c5c8614061241419acfc30971d&chksm=cf45eb43498eec0a494fd939d5649afa3bd84fecc66217b59388e11537abaf2da616f88f89ba&mpshare=1&scene=1&srcid=0130fj7a7YJbkGOrIc326zDm&sharer_shareinfo=1801ac85b600552cdb919040568686a0&sharer_shareinfo_first=1801ac85b600552cdb919040568686a0">Flutter 新春第一弹，Dart 宏功能推进暂停，后续专注定制数据处理支持</a>: 在去年春节，Flutter 官方发布了宏（Macros）编程的原型支持， 同年的 5 月份在 Google I&#x2F;O 发布的 Dart 3.4 宣布了宏的实验性支持，但是对于 Dart 内部来说，从启动宏编程实验开始已经过去了几年，但是从目前的推进趋势看，完全的宏功能支持并不理想，结论大概是：能用是能用，但是质量和性能都达不到一开始的预期。</li><li><a href="https://juejin.cn/post/7465280957088956427">Android Studio 正式版 10 周年回顾，承载 Androider 的峥嵘十年</a>: Android Studio 1.0 宣发于 2014 年 12 月，而现在时间来到 2025 ，不知不觉间 Android Studio 已经陪伴 Androider 走过十年历程。</li><li><a href="https://mazzzystar.com/2025/01/30/chatgpt-to-deepseek-r1-zh/">Deepseek R1 可能找到了超越人类的办法</a>: 我本想写一篇关于 DeepSeek R1 的科普文，但发现很多人仅仅把它理解为 OpenAI 的复制品，而忽略了它在论文中揭示的“惊人一跃”，所以，我决定重新写一篇，讲讲从 AlphaGo 到 ChatGPT，再到最近的 DeepSeek R1 底层原理的突破，以及为什么它对所谓的 AGI&#x2F;ASI 很重要。作为一名普通的 AI 算法工程师，我可能无法做到非常深入，如有错误欢迎指出。</li><li><a href="https://www.youtube.com/watch?v=Y9GWnwi9D0I">Testing | Jetpack Compose Tips</a>: Previews allow quickly verifying components during development, which can be automated with the preview screenshot testing Gradle plugin to create visual regression tests. Behavior tests can use DeviceConfigurationOverride, a new testing API to simulate different device configurations to avoid needing multiple emulators to run a full test suite.</li><li><a href="https://juejin.cn/post/7465031850969858088?share_token=95c52b62-bbc3-4074-96b5-b5fd64043cc6">AI 编程智能体深度剖析：Cursor 与 Cline 实战对决，谁更胜一筹？</a>: 这篇文章对闭源和开源的 AI 编程智能体进行了深度剖析，包括 Cursor、Cline 等工具。介绍了 AI 编程智能体的概念、核心组成部分，对比了其与 AI 问答、人工编码的区别，并阐述了它们在客户端开发不同工作中的影响。还详细对比了多种 AI 编程工具的优劣势、使用成本、适用场景、任务处理结果等，同时介绍了 Cursor、Trae、Windsurf 等工具的安装、使用、配置等方面的内容。</li></ol><h2 id="非技术文章"><a href="#非技术文章" class="headerlink" title="非技术文章"></a>非技术文章</h2><ol><li><a href="https://world.hey.com/xiaowen/post-8e1417a9">专栏：职场不用喝咖啡 - 认知升级书目：《好战略，坏战略》</a>: 《好战略，坏战略》强调战略不同于目标或愿景，真正的战略是微观、系统且可执行的，书中通过反面教材揭示企业常见错误，推荐深入学习以提升认知和实践能力。</li><li><a href="https://bearliu.substack.com/p/2025-english-learning-resource">2025 年英语进阶：打开海外新机遇的最佳资源</a>: 来领新年第一份礼物了！免费放出我精选的学习英语资源：“2025 年英语进阶”。每个资源都包含了我的简要点评、价格信息、适合的英语水平以及链接，方便你快速了解并筛选出最适合自己的学习工具和计划。</li><li><a href="https://w2solo.com/topics/5413">创业日记 独立开发周记 101：让极简更极简</a>: 极简时钟作者的周记</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAwMDYyODYzMA==&mid=2247483847&idx=1&sn=50a0ea909f0f6c45b5ea955e78a87306&chksm=9b7b15d000838eb19cc5965ccab6c77f4b63c4851ecee695138e068921da7cf718015920ee28&mpshare=1&scene=1&srcid=0128iDgRdHXpTrq9d56qNgES&sharer_shareinfo=a693981cedec604e4d9669c09cd943aa&sharer_shareinfo_first=a693981cedec604e4d9669c09cd943aa">工作承载不了太多意义，但也不要陷入工作虚无主义</a>: 工作就像人生的一个维度：它很重要，但不是唯一。它需要投入，但要有度。它值得认真，但别太执着。工作是为了更好的生活，而不是让生活成为工作的附属品。我们的目标是：认真工作，快乐生活。既不做工作的奴隶，也不做生活的逃兵。工作和生活就像代码和注释，缺一不可，但要比例适当。</li><li><a href="https://www.36kr.com/p/3141715787979520">一场关于 DeepSeek 的高质量闭门会：比技术更重要的是愿景</a>: 关于 DeepSeek 的高质量闭门会讨论了其技术细节、组织文化以及未来发展愿景，强调了 DeepSeek 在人工智能领域的创新及其对行业的影响。文章指出，DeepSeek 的成功不仅在于技术，更在于其独特的愿景和团队文化。</li><li><a href="https://anotherdayu.com/2025/6509/">近期测试的几个软件</a>: 近期收到或抽到了一些软件，都挺有趣，放在一起聊聊：Juchats、Tooboo、Photoncam、Piecelet、SteveFans</li><li><a href="https://mp.weixin.qq.com/s/ZQA8quhAEwUUsT2p_IjG0g?token=1639803888&lang=zh_CN">AI 辅助编码的残酷真相：它能帮你完成 70%的工作，但最后 30%令人非常沮丧</a>: 在过去几年深入参与 AI 辅助开发的过程中，我注意到一个非常有趣的现象：尽管许多工程师都表示自己在使用 AI 时生产力显著提升，但我们日常使用的软件却并没有明显变好。到底发生了什么？我想我知道原因，而其中揭示了一些软件开发的根本事实，值得我们认真思考。让我来分享我所学到的内容。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAwMDYyODYzMA==&mid=2247483911&idx=1&sn=1b78372a639d399f6068f7cc5da28a6b&chksm=9b8e7a9853e0bbf329957bc7834bcf67329b5dc67c1f536e643545ee63b18fbef309e1969d2c&scene=0&xtrack=1">自洽的程序员—好的伴侣可以帮你消化工作上的负面情绪</a>: 好的伴侣关系， 不是形式上的两个人住在一起， 而是灵魂上的相互理解和支持。工作是生活的重要部分， 而不是需要隐藏的秘密。 适度分享不仅能帮助消化负面情绪， 更能增进彼此的理解和信任。分享工作中的酸甜苦辣， 也是让感情升温的催化剂。 在互相理解和支持中， 两个人都能获得成长。</li></ol><h2 id="工具"><a href="#工具" class="headerlink" title="工具"></a>工具</h2><p>羊毛薅起来：SiliconCloud 基于优秀的开源基础模型，提供高性价比的 GenAI 服务。作为集合顶尖大模型的一站式云服务平台，SiliconCloud 致力于为开发者提供更快、更便宜、更全面、体验更丝滑的模型 API。</p><ul><li>可以直接在线对话（自定义 Prompt）也可以生成 API 在各个本地 or 在线的工具（比如 Cursor）里面使用，这个很方便～</li><li>您每邀请一位好友成为 SiliconCloud 新用户，您与好友均可获赠 2000 万 Tokens（14 元平台配额）</li><li><a href="https://cloud.siliconflow.cn/i/zGUmxkbg">邀请链接</a>：<a href="https://cloud.siliconflow.cn/i/zGUmxkbg">https://cloud.siliconflow.cn/i/zGUmxkbg</a></li><li>邀请码：zGUmxkbg</li></ul><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><p><img src="/images/Weekly#42/img_00_4ad0ab02.jpg" alt="image"></p><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#x64;&#x72;&#101;&#x61;&#109;&#116;&#x61;&#108;&#101;&#46;&#106;&#103;&#x40;&#x67;&#109;&#x61;&#x69;&#108;&#x2e;&#99;&#x6f;&#109;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-42&quot;&gt;&lt;a href=&quot;#Android-Weekly-42&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #42&quot;&gt;&lt;/a&gt;Android Weekly #42&lt;/h1&gt;&lt;p&gt;&lt;strong&gt;</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #41</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-01-27-Android-Weekly-41/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-01-27-Android-Weekly-41/</id>
    <published>2025-01-26T16:00:00.000Z</published>
    <updated>2025-01-26T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-41"><a href="#Android-Weekly-41" class="headerlink" title="Android Weekly #41"></a>Android Weekly #41</h1><blockquote><p><strong>Android Weekly</strong> 是由 Gracker 精心整理和发布的技术资讯周刊，每周一准时更新，汇聚了过去一周内与 Android 相关的高质量技术文章、泛客户端技术的最新动态，以及其他值得关注的非技术类文章，内容覆盖广泛，从 Android 开发到跨平台技术，从系统底层优化到前沿技术分享，为开发者提供全方位的知识拓展。  </p><p>本周刊可以通过微信公众号、知乎专栏、掘金专栏、个人博客、竹白等平台订阅和阅读。  </p></blockquote><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><p><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247492740&idx=1&sn=d0b51e5f1382011697844a519b1a5cf1&chksm=cf7f01f925d82689926937614b505914137ba820eebe34495b67c092f0f6733bab6f6e592f95&mpshare=1&scene=1&srcid=0120jVle33H7p1M3kvaNeLDO&sharer_shareinfo=0d51ffd277d24f96d6c414ab2680f6de&sharer_shareinfo_first=0d51ffd277d24f96d6c414ab2680f6de">深入 Flutter 和 Compose 的 PlatformView 实现对比，它们是如何接入平台控件</a> : 本文深入对比了 Flutter 和 Compose 在 PlatformView 实现上的差异，重点分析了它们接入平台控件的方式、技术实现和适配场景的不同。文章详细展示了 Flutter 的三种模式（VD、HC、TLHC）的演变及其优缺点，同时探讨了 Compose 如何通过 AndroidView 将传统 View 集成到其 UI 渲染树中，并分析了两者在 SurfaceView 支持上的关键区别。</p></li><li><p><a href="https://juejin.cn/post/7461522866766692362">Now In Android 精讲 5 - Data Layer</a> : 文章主要精讲了 Android 中的 Data Layer，包括学习前需解决的一系列问题，通过代码示例讲解了 Repository 的使用及设计原则，阐述了 Repository 与 DataSource 的关系，介绍了离线优先业务，如模块设计、读写策略、同步设计等，最后总结鼓励对照代码学习并应用。  </p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=Mzk0OTYwNzc3NQ==&mid=2247485487&idx=1&sn=4a02ba0a0c6c0c7a05a0765ba9acb140&chksm=c2b4059f5db1e67a1a2455487f3f40c25536468f05a9d334088ff3307bdbecb877e1a91327d1&mpshare=1&scene=1&srcid=0120TGH3FtVtdrHpZcdIBp0I&sharer_shareinfo=b0a79b807940b68ebf40c8bf62fe1eb8&sharer_shareinfo_first=9b74903e663647ca9965bf0b619faf30">DeepSeek-R1 发布，性能对标 OpenAI o1 正式版</a> : DeepSeek-R1 发布，性能媲美 OpenAI o1 正式版，并开源模型权重。DeepSeek-R1 采用 MIT License，支持模型蒸馏，API 和应用同步上线，性能在数学、代码、自然语言推理等领域表现优异。小模型蒸馏版本也已开源，协议调整为更宽松的 MIT License，明确支持用户进行模型蒸馏。API 服务定价透明，用户可通过官网或 App 体验新功能。  </p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NzcwMTUwNQ==&mid=2247483830&idx=1&sn=4fedf49aa8cb997d1489725bd9cf13a5&chksm=c23391a239b97030b6c7343701d42c168570555d9cc22075ceb97c5078488e5cfaeffeef1869&mpshare=1&scene=1&srcid=01213TyD6jpLLoIlLjl3Mdzt&sharer_shareinfo=6a96a241d9e83945e5c8ed1647294e2e&sharer_shareinfo_first=6a96a241d9e83945e5c8ed1647294e2e">内核空间内存 profiler： memprofiling</a> : 内核空间内存使用情况剖析器 memprofiling 由 Kent Overstree 和 Google 的 Suren Baghdasaryan 开发，能够直观展示内核内存的分配情况，包括分配者及分配对象数量。  </p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzIwNTkwNTk3OQ==&mid=2247487624&idx=1&sn=18e6220d745a11bb31210a7b07b296c3&chksm=96ce23cdc8c8bfdce1f747ef00054664ea53df0586bb0e2b55e101657b8b9412089efef24da0&mpshare=1&scene=1&srcid=0121gxTaM9jw2eJJlZOSSt0r&sharer_shareinfo=e95af7d217040716505bfd930f980216&sharer_shareinfo_first=29948ea1069ac7f874dad293522068ce">Android 15 内存追踪利器：ProfilingManager！</a> : Android 15 内存追踪利器：ProfilingManager  </p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzA4MDAxMzQxNw==&mid=2447633170&idx=1&sn=2a1d1ea09d289d43221f8d99049f929c&chksm=8a0e4195967a97af369445c9c8e5bdc0a92725432cca746565908ff7a22886b4b0a56d28befe&mpshare=1&scene=1&srcid=0122iiPP03uzXGPwhBMkOYGp&sharer_shareinfo=39213b31b24dc96b868485c626c2869e&sharer_shareinfo_first=39213b31b24dc96b868485c626c2869e">两个 display driver 导致的问题</a> : 两个 display driver 导致的问题，第一个问题是 MTK 平台的 PQ 功能存在 bug，关闭 PQ 后解决了 settings 界面滑动花屏的问题。第二个问题是项目在开启 doze_suspend 后出现黑屏和 SF 的 DMA Buffer 泄露，原因是驱动在适配 doze suspend 功能时屏幕上下电逻辑存在 bug。  </p></li><li><p><a href="https://zhuanlan.zhihu.com/p/19771255139">案例分享：数据库 sqlite3 访问 SIGBUS 崩溃问题</a> : 案例分享：文章探讨了一个与数据库 sqlite3 访问相关的 SIGBUS 崩溃问题，分析了其发生原因、定位方法及解决过程，最终确认是由于多线程并发操作导致文件锁丢失引发的数据库访问错误。  </p></li><li><p><a href="https://baoyu.io/translations/agi-pre-dawn-thoughts">AGI 前夜的思考 [译]</a> : 这篇文章探讨了人工通用智能（AGI）即将到来的影响，分析了技术发展、社会变革、潜在风险及应对策略。作者认为我们正处于历史性时刻，未来将充满惊人的可能性，也伴随着巨大的挑战。文章呼吁每个人发挥作用，共同塑造一个积极的未来。  </p></li><li><p><a href="https://juejin.cn/post/7462305424554590219">快让 Appium 自动化测试你的 App 吧</a> : 文章主要介绍了 Appium 自动化测试流程，包括环境配置（安装 appium、驱动，配置环境变量，选择 Python 语言等），使用方法如打开目标 Activity、查看布局元素、尝试点击事件，还提及相关工具及可能遇到的问题。  </p></li><li><p><a href="https://baoyu.io/blog/small-model-use-cases">一些“小模型”的使用案例</a> : 在 Hacknews 上有一个讨论很火，就是大家都用小参数的语言模型做什么，有没有什么好的使用案例。我把这些案例整理汇总了一下，大约有六类：（1）文本分类与信息提取、（2）办公与生产力辅助、（3）对话&#x2F;消息处理与辅助回复、（4）网页&#x2F;应用集成与自动化、（5）娱乐、创作与游戏、（6）模型部署、技术瓶颈与思考。  </p></li><li><p><a href="https://adbackstage.libsyn.com/episode-212-happy-birthday-android-studio">Episode 212: Happy birthday, Android Studio!</a> : 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.  </p></li><li><p><a href="https://juejin.cn/post/7463352165487263798">Android 车机 Car 模式原理</a> : 文章主要介绍了 Android 车机的 Car 模式原理，包括车机系统 Android Automotive OS 的特点，Car 模式中的各个模块如 Car API、Car Service、Vehicle HAL 的功能、使用方法、类图等，还讲解了 MCU 报文通讯流程及相关开发维护工作。  </p></li><li><p><a href="https://juejin.cn/post/7463439425956708367">Android 字节码处理-ASM 入门开胃菜</a> : 文章主要介绍了 Android 字节码处理相关内容，包括编译流程、字节码修改阶段、ASM 框架（简介、两种模式、执行模型、核心组件）、类结构及描述符等，还提到 ASM 学习曲线陡峭，建议查阅官网和示例代码。  </p></li><li><p><a href="https://www.youtube.com/watch?v=Advtp0qApEI">Now in Android: 113 - Android 16 Developer Preview 2, Android XR, Android Studio Ladybug, and more!</a> : 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!  </p></li><li><p><a href="https://juejin.cn/post/7463852100603281471">Android WebView 中网页被劫持的原因及解决方案</a> ：这篇文章探讨了 Android WebView 中网页被劫持的原因及解决方案。原因包括 JavaScript 重定向、恶意网页等多种情况。解决方案有使用 HTTPS、验证 URL 等措施，并提供了相应代码案例。还通过案例深入分析了问题，得出网页被劫持可能由多种因素导致的结论。  </p></li><li><p><a href="https://juejin.cn/post/7464046325979217946">Kotlin 技术月报 | 2025 年 1 月</a> ：2025 年 1 月的 Kotlin 技术月报涵盖了最新动态、精选博客和社区活动等。最新动态包括 IDE 支持、Kotlin K2 编译器新特性、Gradle 支持情况等。精选博客有 KMP 发展回顾、KMM 跨平台原理、MMKV 封装思路等。社区活动是 Kotlin 中文开发者大会视频回放。  </p></li><li><p><a href="https://juejin.cn/post/7464050299616755775">带着问题学，Compose 附带效应(Side Effect)一探究竟</a> ：文章以“Jetpack Compose 附带效应（Side Effect）”为主题，介绍了其定义，包括在组合函数中对输入输出范围外状态或系统产生影响的操作，如网络请求等。还列举了处理副作用的 API 及其用途场景、特别之处，如 SideEffect、LaunchedEffect 等。探讨了如何确保重组时应用状态与外部系统一致，以及副作用 API 的最佳实践和常见误区，最后总结了实际开发中的关键要点。</p></li></ol><h2 id="非技术文章"><a href="#非技术文章" class="headerlink" title="非技术文章"></a>非技术文章</h2><ol><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzkyNjM1ODA2MA==&mid=2247485486&idx=1&sn=5eab358d134112ce6005f2a2d3942095&chksm=c317cd8d50b18f2a3e3ac72610826231c70f597a133cb430954f432a6b176a8e912c1e19ad2f&mpshare=1&scene=1&srcid=0120QjSkHiax1VSdQosJHTVo&sharer_shareinfo=ca9b5cda4898c9bd10514876fac57768&sharer_shareinfo_first=e0b633c1ca00fc0b08255fb8ab543a06">SP05.愿意主动承受痛苦，才是热爱的证明</a> : 文章探讨了“热爱”与“痛苦”之间的关系，指出真正的热爱往往藏在愿意主动承受的痛苦背后。通过作者自身的经历以及身边人物的故事，阐述了如何辨别兴趣与热爱，并强调主动选择承受痛苦的重要性。  </p></li><li><p><a href="https://polebug.github.io/2024/12/18/law_of_attraction/">读《吸引力法则：如何利用心理暗示实现愿望》的记录与思考</a> : 这篇文章是作者对《吸引力法则：如何利用心理暗示实现愿望》一书的读后感和思考。文章从吸引力法则的定义、理论体系到具体实践方法，进行了系统的梳理和个人化的解读。作者强调吸引力法则的核心是“相似者互相吸引”，通过关注感受和调整磁场，达到与愿望和谐的状态，并分享了多种提升想象力和正向思维的具体方法。  </p></li><li><p><a href="https://blog.ursb.me/posts/weekly-28/">月刊（第 28 期）：AI 没有体验世界的能力</a> : 本篇是对二〇二四年十一月至十二月的记录与思考。  </p></li><li><p><a href="https://self-consistent-coder.readthedocs.io/zh-cn/latest/">EBook - 自洽的程序员</a> : 但这本书的真正用意是想解决工作过程中碰到的焦虑、倦怠、迷茫、抑郁等情绪，聚焦于解决具体问题，通过改变认知将我们从负面情绪的泥淖中走出来，做到更坦然，真诚的面对自己的内心，成为一个自洽的程序员。  </p></li><li><p><a href="https://w2solo.com/topics/5399">33 岁在重庆，程序员，在 2024 年拥有的面试经历</a> : 这篇文章记录了一位 33 岁的程序员在 2024 年于重庆的求职经历及反思。他分享了多次面试的过程、心得以及对未来的展望，同时总结了求职过程中需要注意的事项和心态调整的重要性。  </p></li><li><p><a href="https://frytea.com/archives/1425/">《奔跑吧，程序员：从零开始打造产品、技术和团队》</a> : 这篇文章是对创业公司、技术选择、设计原则、招聘策略以及学习技巧等主题的深入探讨。通过实际案例和理论分析，文章介绍了如何在不确定的环境中快速增长，并提供了许多实用建议。  </p></li><li><p><a href="https://zhuanlan.zhihu.com/p/18913932756">技术简报 2025 第一期</a> : 本文章主要整理了一系列技术相关的文章和主题，包括搜索引擎架构、Linux 上下文切换、GPU 计算、数据库分区、创造性思维等内容，旨在分享编程技术洞察和经验。  </p></li><li><p><a href="https://zhuanlan.zhihu.com/p/20361629263">读《黄仁勋：英伟达之芯》</a> : 这篇文章探讨了黄仁勋及其领导下的英伟达如何通过创新和坚持，成为人工智能领域的领导者。文章详细描述了黄仁勋的管理风格、他对技术的深刻理解，以及他如何利用第一性原理重新定义 GPU 的应用场景，推动 AI 革命。  </p></li><li><p><a href="https://w2solo.com/topics/5402">一个伪独立开发者的独白——4399 小游戏开发</a> : 作者回顾了自己作为伪独立开发者的经历，分享了开发 4399 小游戏的经验和心得。  </p></li><li><p><a href="https://www.bilibili.com/video/BV1xE41147ak/?share_source=copy_web&vd_source=5061ebfaaaa91338eec7c86fe76282b3&_unique_id_=f2b72b29-4345-498e-9d81-89813d33ef2e&code=021TNAll2rJxVe4EZfol2Ols4O0TNAlE&state=&wxfid=o7omF0T3YattlVwQA3UqlXeHEa8k&share_times=1">【Netflix】极简主义：记录生命中的重要事物 官方双语字幕 Minimalism</a> : 这部纪录片访问的对象，都努力抗拒认为事物能带来幸福的美式理念，展现少即是多的真谛。  </p></li><li><p><a href="https://rolen.wiki/some-thoughts-about-passive-income/">被动收入的一些思考与实践（1）</a> : 这篇文章讲述了作者在构建被动收入过程中的实践经验、心得体会以及一些关键洞见。通过一次小的尝试，作者逐步摸索出如何将自己的技能和资源转化为可持续的收入来源，同时也总结了在过程中学到的核心理念。</p></li></ol><h2 id="工具"><a href="#工具" class="headerlink" title="工具"></a>工具</h2><ol><li><a href="https://github.com/pseudoyu/yu-tools">个人工具箱</a> : 自己一直是个工具控，也一直信奉着“工欲善其事，必先利其器”的理念，总是不断折腾和优化自己的硬件与软件，针对自己的一个特定需求会试图找到最优解，现在也慢慢找到了最适合自己使用习惯的解决方案。因为工作、学习和个人兴趣，设备经过很多次迭代，在这个时间节点作一下记录，后续也会不断更新，希望能够对其他人有所参考。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkwNDYyNTU1NQ==&mid=2247486179&idx=1&sn=29d9077dbaa879f1388fd628c102071d&chksm=c1329b416202d3c2b878117fa15650e0b184aca4708a565c5f0b32fb9322b228ccea74b95806&mpshare=1&scene=1&srcid=0120YaTXSgsBRNNrnmU70m2x&sharer_shareinfo=3aa172c89e335810c3379e7c47f7aaa3&sharer_shareinfo_first=46440f26bed307709ec73840f88cf5bb">对标 Cursor 和 Windsurf，Trae 如何成为中文开发者的首选？</a> : Trae 是字节跳动推出的一款专为中文开发者优化的 AI IDE，旨在解决现有工具在中文语言支持上的不足，同时通过整合 Claude 3.5 和 GPT-4o 等主流大模型，提升开发效率并提供智能化支持。Trae 通过本地化设计、便捷的功能迁移和多样化的 AI 功能，重新定义了中文开发者友好型 IDE 的标准。</li></ol><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><p><img src="/images/Weekly#41/img_00_e161f1dc.jpg" alt="image"></p><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#100;&#x72;&#x65;&#x61;&#x6d;&#116;&#x61;&#x6c;&#x65;&#46;&#106;&#x67;&#x40;&#x67;&#x6d;&#x61;&#105;&#x6c;&#46;&#x63;&#x6f;&#x6d;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-41&quot;&gt;&lt;a href=&quot;#Android-Weekly-41&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #41&quot;&gt;&lt;/a&gt;Android Weekly #41&lt;/h1&gt;&lt;blockquote</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #40</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-01-19-Android-Weekly-40/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-01-19-Android-Weekly-40/</id>
    <published>2025-01-18T16:00:00.000Z</published>
    <updated>2025-01-18T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-40"><a href="#Android-Weekly-40" class="headerlink" title="Android Weekly #40"></a>Android Weekly #40</h1><blockquote><p><strong>Android Weekly</strong> 是由 Gracker 精心整理和发布的技术资讯周刊，每周一准时更新，汇聚了过去一周内与 Android 相关的高质量技术文章、泛客户端技术的最新动态，以及其他值得关注的非技术类文章，内容覆盖广泛，从 Android 开发到跨平台技术，从系统底层优化到前沿技术分享，为开发者提供全方位的知识拓展。<br> 本周刊可以通过微信公众号、知乎专栏、掘金专栏、个人博客、竹白等平台订阅和阅读。  </p></blockquote><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247492703&idx=1&sn=a6f177e7a837fea901eda081ec919dc5&chksm=cff528a7b7f4909907bc89087c8f6a08ca319fb399eda34df63ee6060bd5a3540d12585853d6&mpshare=1&scene=1&srcid=0113V5YKvZIloR3U1PXfiE7i&sharer_shareinfo=de13dd41d0b5d66ab69ba5ee20b51aa1&sharer_shareinfo_first=de13dd41d0b5d66ab69ba5ee20b51aa1">深入 Flutter 和 Compose 在 UI 渲染刷新时 Diff 实现对比</a> : 这篇文章对比了 Flutter 和 Jetpack Compose 在 UI 渲染刷新时差异更新(Diff)的实现机制。Flutter 采用线性对账算法,通过最小化查找将 Widget 配置信息更新到 Element 上。Jetpack Compose 则使用基于 Gap Buffer 的 SlotTable 数据结构,在重组完成后才将差异部分更新到对应的 LayoutNode。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzUzNzg4Nzc3MQ==&mid=2247485083&idx=1&sn=384b48246ef069fcc432e1117df7316d&chksm=fb72083cd9c92b10b84d9ddbfb0c29ee5095b4655452f19b891482858d0042c59f920de364d0&mpshare=1&scene=1&srcid=0113vabFuM7ncjR6Pz0UQmwZ&sharer_shareinfo=3ec996bd4c0f571aa73cf9ac020393d6&sharer_shareinfo_first=3ec996bd4c0f571aa73cf9ac020393d6">计算体系结构的伟大思想:虚拟内存 2-Lecture 33</a> : 虚拟内存是现代计算中隐藏的重要技术，为性能优化、安全性和灵活性提供强大支持。它通过地址映射和分页机制，为每个程序提供独立的虚拟地址空间。硬件和软件协作完成地址翻译和页面交换，实现有效的内存管理。虚拟内存在云计算、GPU 计算、数据库等领域广泛应用，并将随着硬件进步不断优化和发展。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MjM5MTkxOTQyMQ==&mid=2257490631&idx=1&sn=8a71f43956478d94bad48afdc034734a&chksm=a4f8082086aed502dd6a13f81258ccf722bfc9c1d1d2da245adde6a88a60a8ac88176bfccbfa&mpshare=1&scene=1&srcid=0113ZdvndNux6OTibTYyM22N&sharer_shareinfo=4d6989e58c453ca7ebafc3bcf9a15d47&sharer_shareinfo_first=d22037575e938abf4104dd6e5904d7d4">【音视频】视频播放卡顿问题的分析和解决丨音视频实战经验</a> : 本文主要分析了视频播放卡顿问题的原因及解决思路。文章首先指出视频播放卡顿的主要原因可能是网络波动、解码渲染能力不足以及缓冲策略不合理导致的数据断供。针对这些问题,文章提出了一种基于分层架构的播放器设计方案,包括播放控制层、缓冲管理层、网络数据层和解码渲染层。并重点介绍了核心的三级缓冲策略和动态调整机制。最后,文章还给出了一些其他的优化建议,如网络优化、解码优化、渲染优化、监控优化和体验优化等。</li><li><a href="https://www.bilibili.com/video/BV1ntcJeJEYd">【直播回放】快手团队的 KMP 鸿蒙落地实践｜ 2024 Kotlin 中文开发者大会</a> : 自研 OS 时代，以鸿蒙为首的各类新型操作系统应运而生，这对快手这样以“超大规模工程量级移动端应用”为主要业务载体的公司，带来了巨大的效能挑战。本次分享将结合快手的 KMP 鸿蒙落地实践，从降低 KMP 业务接入成本的角度出发，介绍快手是如何通过建设 KMP 鸿蒙易用性基础设施促进业务落地并提高研发效能的。希望快手的技术方案选型和渐进式落地推广思路，能给同样需要从 0 到 1 落地 KMP 的应用提供参考与帮助。</li><li><a href="https://juejin.cn/post/7395396352182583306?share_token=1b6f2733-82aa-4647-83c5-6e85a1117021">Android 15- 16kb 页对齐适配大扫盲</a> : 文章主要介绍了 Android 15 中 16kb 页对齐的适配。包括需要适配的两种情况：未进行 16kb 对齐的 so 及 native 代码中固定硬编码 4kb 部分系统调用异常。讲解了适配过程，如环境准备、so 本身的 16kb 对齐方法，还通过 shadowhook 实战举例，最后总结了三个适配相关的小结论。</li><li><a href="https://juejin.cn/post/7457793265611014159?share_token=89ab94d8-7205-4a99-8444-d20d8a530881">Matrix 源码阅读笔记 —— TracePlugin（中）</a> : 文章是关于 Matrix 的 TracePlugin 功能的介绍，包括对 SignalAnrTracer 和 FrameTracer 的分析。SignalAnrTracer 主要监控 ANR 信号，获取系统的 trace 文件，涉及多种语言的代码实现和处理逻辑。FrameTracer 则包括 Android 7 及其以后和以前版本的帧率检测，前者直接使用 API，后者通过 Hook Choreographer 计算帧率，并详细阐述了相关代码的执行逻辑和任务顺序。</li><li><a href="https://juejin.cn/post/7458094481104191514?share_token=e5aa1fed-0d1e-456a-aeb1-f01488aa3db0">彻底掌握 Android14 Vsync 原理</a> : 本文主要介绍了 Android14 Vsync 原理，包括 Vsync 是什么及作用、HW-Vsync 计算模型建立、软件 Vsync 信号计算过程与校准、App 和 SF 申请 Vsync 信号的流程等。指出 Vsync 用于同步画面，软件 Vsync 基于 HW-Vsync 计算，有特定参数和计算方式，且存在校准场景和相应流程。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649080891&idx=1&sn=ea5df36c822de91917cc2aba5d950f28&chksm=861ac2db11668de82ab12e4447d7bf1034d9f5c427d99c864a7ef6c29287b38c5320d131dbb5&mpshare=1&scene=1&srcid=0114te9ROEOewpdqeaDB90xB&sharer_shareinfo=e09dddfe1725497989872972cc84a653&sharer_shareinfo_first=e09dddfe1725497989872972cc84a653">Android 系统性能优化之重排，你知道几个？</a> : Android 系统性能优化之重排解析 <ol><li>Android 系统多方面采用重排技术优化性能，包括 Java 层 multidex、字节码 aot&#x2F;jit 转汇编、native C++编译优化以及图形栈重排指令、CPU 和 GPU 底层的机器码重排等。</li><li>重排既可以提升性能，但同时也增加了复杂度和可能引入 bug。作者曾遇到过 art 虚拟机中由于指令重排导致的 bug。</li><li>对于 Android app 的 looper 消息循环，可以参考 iOS 的 runloop 做分类分级，而不是一刀切。这是一个值得探索的优化方向。</li></ol></li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTUwMTQ5NQ==&mid=2247484518&idx=1&sn=c6e0b9f9d627f03da9e23c5acd789b14&chksm=c306e641fa04f7efba29240ac2110964703e862a9e8bd043673848f0e34e9e2b241a849bd31d&mpshare=1&scene=1&srcid=0114Z3IDGiWFj7bPZvdD0Mu6&sharer_shareinfo=50d567f6f11c1d9098c2588c91c757a1&sharer_shareinfo_first=50d567f6f11c1d9098c2588c91c757a1">能量感知调度（EAS，Energy-Aware Scheduling）的考古日志系列，连载五</a> : 本系列 patch 为 EAS 相关，主要记录 EAS 从提出讨论，经过多个版本迭代，最终合入主线内核的过程。Quentin Perret 在 Morten Rasmussen 工作的基础上完成了 EAS 的开发合入。本文介绍第二个 patch，schedutil 调频器为适配 EAS 所做的一些准备。本文基于 kernel5.0-rc1。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTUwMTQ5NQ==&mid=2247484520&idx=1&sn=99a171e3b5ecc9e82be4b16817cc4495&chksm=c322e2f1112b2d8b7f0c610e1ceb428cfd354fcbb8589c9b2c9e751fd94bb1b51cfe0fa5aa8b&mpshare=1&scene=1&srcid=0116CN9TMiFdAEHsjMVHKD19&sharer_shareinfo=450dda46f2b94bb22e80d8ce89242e6a&sharer_shareinfo_first=450dda46f2b94bb22e80d8ce89242e6a">能量感知调度（EAS，Energy-Aware Scheduling）的考古日志系列，连载六</a> : 本系列 patch 为 EAS 相关，主要记录 EAS 从提出讨论，经过多个版本迭代，最终合入主线内核的过程。Quentin Perret 在 Morten Rasmussen 工作的基础上完成了 EAS 的开发合入。本文介绍第三个 patch， 为 EAS 引入一个能量模型管理框架，这是一个相对独立的框架模型，可用于其它子系统。有了能量模型， EAS 可以在满足性能的条件下，选择能效比最高的 CPU 运行。本文基于 kernel5.0-rc1。</li><li><a href="https://zhuanlan.zhihu.com/p/18445123406?utm_medium=social&utm_psn=1862986795383390208&utm_source=wechat_session">案例分享：图片内存泄漏快速定位方法</a> : 本文探讨了 Android 平台内存泄漏快速定位的一种新方法,利用对图像内存占用的可视化分析。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649080930&idx=1&sn=5a9b297d220298ed25396018dbc873d7&chksm=86754dabad63a14ddc67e0e0187dba1a19633f933643f2292683b0b0fffd370bfa43f07afa6c&mpshare=1&scene=1&srcid=0116sHUt8UZaIEjFQd1zfsAO&sharer_shareinfo=6eff3fee9fdd05d690e6decf789e1065&sharer_shareinfo_first=6eff3fee9fdd05d690e6decf789e1065">android app 渲染流水线图解</a> : 刷到 Google io 2018 的讲解的 app 渲染流程视频，虽然视频有点老了，新版本 android 可能变化了，但内容不错，讲得很好。整理出来分享给大家。</li><li><a href="https://medium.com/@anton_gerasimovich/jetpack-compose-optimization-checklist-1a51c71d191a">Jetpack Compose Optimization Checklist</a> : 这篇文章总结了 Jetpack Compose 中优化性能的关键做法,包括利用可跳过性(skippability)、状态管理和延迟组合等高级概念来确保 UI 渲染的流畅性,适用于复杂应用场景。该清单涵盖了懒加载列表、动画和布局等多方面的最佳实践,可以帮助开发者提高 Jetpack Compose 应用的性能表现。</li><li><a href="https://superhuang.feishu.cn/wiki/CBBPwvgEuicVhFkx0s7cPmhpn4e">AI 编程蓝皮书</a> : 作者介绍了使用 AI 编程的流程和工具。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk0Njg4MjE0Mg==&mid=2247483769&idx=1&sn=3a2991682a113925f99b2d8dd033aa57&chksm=c289c46188a3c03a573df92a7f269b67f475b757f1d3caf1ec3cf3dc4a871e1f6eb29bd9bcdd&scene=0&xtrack=1">再学安卓 - binder 之驱动加载</a> : 本文主要介绍了 Android 内核中 Binder 驱动的初始化过程, 包括 initcall 机制、设备创建、文件系统挂载等。通过对代码的分析和踩点, 全面地展示了 Binder 驱动的启动流程。</li><li><a href="https://juejin.cn/post/7207058392287723579">perfetto 高阶使用：编译浏览器 UI</a> : 这篇文章主要介绍了 perfetto 编译浏览器 UI 的相关内容。包括参考学习文档、核心步骤、实战步骤、报错处理等。核心步骤为获取源码、执行 tools&#x2F;install-build-deps –ui 和 ui&#x2F;run-dev-server 等命令。实战中需满足前提条件，如翻墙、使用特定系统等，并列举了多种报错情况及处理方法，还提到了取巧的离线使用办法。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650290111&idx=1&sn=076e079119e958072755f98cf7044d5c&chksm=89e79c63c7f755f551b35c377b70dd2be339f12dfef50cf703f3d31a3b94d9c48c26950a7b69&mpshare=1&scene=1&srcid=0117e1Stnrja1Vd1Iz8ZzxOQ&sharer_shareinfo=517ace0c5052059031c6521ae87061d8&sharer_shareinfo_first=c7b1408a5620472a6c91e9f73e2ac8ae">Android 15 新特性，预测性返回手势</a> : Android 15 新增了预测性返回手势功能，可以在返回上一个界面之前预览即将返回到的界面。这个功能从 Android 13 开始引入，但直到 Android 15 才默认启用。预测性返回手势可以提升用户体验并降低返回操作的误操作率。但由于需要各 App 进行适配，所以这个功能的推广进度比较慢。</li><li><a href="https://w2solo.com/topics/5389">这样代码命名，总不会被同事蛐蛐了吧</a> : 本文主要探讨了如何进行良好的代码命名，从而提高代码的可读性和可维护性。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkzNTc2ODc3Ng==&mid=2247485371&idx=1&sn=00884807ec4dd7fa099554a96bad0ab8&chksm=c322f86767f257aa30ff2b39e902faa4c2ef3a0b58814c722b97eb61847fa35e98315f140f67&mpshare=1&scene=1&srcid=01188xrnxG7XJUbrPpOqLDnX&sharer_shareinfo=4c2c9e3a76f94c19e259dddea5d1fb96&sharer_shareinfo_first=4c2c9e3a76f94c19e259dddea5d1fb96">手机上跑大模型，酷不酷</a> : 本文介绍了在手机上运行大语言模型的解决方案 mlc-llm 项目。这个项目可以让大语言模型直接运行在手机、电脑等设备上,无需依赖网络。这带来了诸多可能性,比如在手机上与 AI 助手进行交互、避免数据隐私泄露、为游戏等硬件实现智能对话等。此外,作者还分享了在探索 mlc-llm 项目中发现的 conda 软件环境管理工具的使用心得。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzU2NTI3NDI5MQ==&mid=2247490010&idx=1&sn=a9efec58c677559f4c7abdeae3d639b0&chksm=fda0c0285d03bbef37bfc9a45fb221ac8d1fe4b56ac325aae7f3fc7a5642f6cf208e387551c6&scene=0&xtrack=1">Android15 调试专题第九弹：编译 Pixel 内核源码</a> :这篇文章介绍了如何编译 Pixel 系列手机的内核源码</li><li><a href="https://aijishu.com/a/1060000000380538">PMU, AMU 的区别</a> : 文章简要内容概括：本文对比了 Arm 架构中的 Performance Monitoring Unit (PMU)和 Activity Monitoring Unit (AMU)的区别。它们都有性能计数器用于监控和分析系统性能,但在用途、编程模式等方面有所不同。PMU 主要用于性能分析和调试,AMU 主要用于系统管理和监控,尤其是功耗和性能管理。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4MTQyNzkxNw==&mid=2247484013&idx=1&sn=108083bf20342b3b06ee6e1b2f707fd4&chksm=eac4784b9b04a57a2230fad160122d37eef65198d3c25b2fa108d425a544b70304ce8c03c2e8&mpshare=1&scene=1&srcid=0119oD4WhSuT6QHi5Fxzn4FV&sharer_shareinfo=be348424cea935ba98c10bb612c491f2&sharer_shareinfo_first=be348424cea935ba98c10bb612c491f2">技术管理：目标与对象视角下的洞察与实践</a> : 技术管理的核心目标是为业务成功提供全方位、深层次的技术支撑与保障，通过技术创新与规划助力商业目标的实现，同时在满足技术人员精神层面（如个人技术进步、能力提升）和物质层面（如薪资、奖金等）核心诉求的基础上，激发其工作热情与创造力。优秀的技术管理者应注重培养团队成员的技术领导力，打造具备持续进步能力的卓越团队，并在与非技术管理者争取团队利益时，勇于突破心理束缚，积极为团队争取资源与支持。</li><li><a href="https://juejin.cn/post/7461241750079471650">Android anr 排查之 sp 卡顿</a> : 这篇文章主要分析了 Android 开发中 SharedPreference 引起的主线程卡顿和 ANR 问题，并提出了解决方案。SharedPreference 的 apply 操作会在主线程执行写入操作，可能导致主线程卡顿，而页面退出时，ActivityThread 会阻塞等待 SharedPreference 写入完成，从而进一步引发 ANR 问题。为了解决这一问题，文章提出通过反射替换 SharedPreference 的内部实现，避免主线程卡顿和 ANR，并对这一优化方案进行了详细说明。</li><li><a href="https://juejin.cn/post/7461206556317564966">音视频基础能力之 Android 音频篇 （五）：史上最全的音频渲染总结</a> : 这篇文章是音视频基础能力之 Android 音频篇的第 5 篇，主要介绍了 Android 平台下音频渲染的几种方式。包括 AudioTrack 的初始化、开始渲染、停止渲染的步骤及相关参数设置，OpenSL 的初始化、播放、引入等流程，AAudio 的关键流程及播放控制，Oboe 的引入方式。还提及了硬件音视频能力与操作系统的关系及系列文章的相关链接。</li><li><a href="https://zhuanlan.zhihu.com/p/18748754692">2025 稳定性业务研讨问题</a> : 这篇文章从能力、管理和流程三个方面探讨了应用稳定性业务的改进方向。在能力方面，需解决三方应用的内存泄露、无响应故障等“硬骨头”问题，并利用图像检测、事件旅程检测等技术突破，同时提升 AI 深度遍历测试、自动化测试生成能力以及竞品对比测试和逆向能力；系统稳定性能力已较完善，可通过小幅改进进一步优化。在管理方面，需更好地协同管理芯片厂家导入基线、Google GKI 升级变化等外部不可控因素，以及三方应用升级引发的问题。在流程方面，需加强应用市场上架测试流程和自研需求开发质量的流程管理，以全面提升稳定性业务的效率和效果。</li><li><a href="https://zhuanlan.zhihu.com/p/18301002280">CUDA 内存管理器</a> : 内存管理器提供了内存分配的抽象接口，供 CUDA 驱动程序的其他单元或通过 cuda runtime API 的用户层 API 使用。它还提供了在主机（Host）和设备（Device）之间共享已分配内存的抽象接口。CUDA Driver API 以内存对象（Memory Objects）的形式看待内存分配。一个内存对象表示分配的一块内存。它抽象了内存管理中的所有层次，并为 CUDA 驱动程序的其他单元提供 API，用于 malloc&#x2F;free 和 mmap&#x2F;unmap 内存，以及其他的辅助功能。为了避免内存碎片化，内存对象是从一个更大的固定大小的内存块（Memory Block） 中分配的。每个内存块都有一个内存描述符（Memory Descriptor），其中包含与内存块关联的所有内存属性。内存管理器负责维护给定 CUDA 上下文中分配的所有内存块。</li></ol><h2 id="非技术文章"><a href="#非技术文章" class="headerlink" title="非技术文章"></a>非技术文章</h2><ol><li><a href="https://www.noidea.dog/glue">讨论胶水工作</a> : 这篇文章讨论了在软件工程团队中出现的”胶水工作”(glue work),即那些不直接产生代码却对项目成功至关重要的工作,例如帮助他人提高效率、更新路线图、与用户沟通等。文章描述了一位优秀的”胶水工作”者如何由于团队和组织没有认识到这种工作的重要性而无法获得晋升,最后不得不考虑转向更加”可量化”的非技术性工作。</li><li><a href="https://w2solo.com/topics/5371">成长创业笔记 6：2025 年稳步前行，家政小程序迭代新版本，继续出发</a> : 该文章主要介绍了作者独立开发者小张对其家政小程序的迭代更新与反思。</li><li><a href="https://www.hackthinking.com/weekly/2025/01-12-vol28">vol28.信息过载自救指南</a> : 本文从信息过剩、信息茧房、 FOMO（害怕错过）和注意力涣散等多个原因分析了信息过载的产生,并提出了一些应对措施,包括保持无聊、找到自己的母题、构建信息获取系统等。文章还提供了一些优质内容的链接推荐。</li><li><a href="https://www.zhihu.com/question/539192753/answer/56204925691?utm_campaign=shareopn&utm_content=group3_Answer&utm_medium=social&utm_psn=1862584317168988160&utm_source=wechat_session">为什么韩国明明是发达国家却总是一副吃不起肉的样子？</a> : 回答和评论都是精华：大学四年所有课都可以不去，也要牢记楼主的这篇创作，这教会了我们如何思考，以及对于人生的规划，将大问题拆解成可以践行的小问题</li><li><a href="https://mp.weixin.qq.com/s/TePUeHt7TidQdAjvNRCuNQ">新疆二十日（上）：雪域沙海，我的北疆探索之旅</a> : 本次新疆的行程全程自驾，从北疆到南疆的 20 天里大概行驶了超过 5000 公里。我们从上海直接飞抵伊宁，途径赛里木湖、克拉玛依、喀纳斯、乌鲁木齐、吐鲁番、哈密、库车、阿克苏、塔县，最终在喀什返程。一路上，我们穿越了阿禾公路，独自畅游在无际的雪山中；也走过了沙漠“大海道”，看到了独特的雅丹地貌；还有惊无险地通过了塔莎古道，重温了当年西游玄奘之路。在北疆，我们看到了冬季的白雪皑皑；在南疆，我们也领略了晚秋的胡杨林，即便现在已踏上归途，仍旧让我们流连忘返。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkxNzUzNDIzMg==&mid=2247484569&idx=1&sn=920b7e5a24074843728680ad6ac6f02f&chksm=c025fb483c56b0c7482c637f848558241c0de89a1a772c68d77bd521eaa256e1cacc89904430&scene=0&xtrack=1">新疆二十日（下）：古道高原，南疆的冰与火之歌</a> : 本文是《新疆二十日（上）：雪域沙海，我的北疆探索之旅》的后续章节，记录了我们从北疆驶向南疆的旅程。如果说北疆的雪山、湖泊和荒野赋予了这段旅途以雄浑壮丽，那么南疆则以胡杨林、沙漠和古道为我们展开了一幅多彩而深邃的画卷。在南疆，我们将继续追寻丝路的遗迹，穿越塔克拉玛干沙漠，领略胡杨林的秋末辉煌，也将重走玄奘的西游足迹，踏上塔莎古道的荒凉与壮美。</li><li><a href="https://rolen.wiki/reconciliation-with-my-parents/">对父母的和解</a> : 在我年纪轻轻、见识稍浅之时，我的父亲曾给我些许建议，至今仍萦绕在我的心头。他说：“当你想要批评某人时，你要记住，这个世界上并不是所有人都拥有你的那些条件。”</li><li><a href="https://mp.weixin.qq.com/s/iSlx6qplt0Rrkyx4o9j2Ug">人到中年，减肥后维持体重不反弹一年的感悟</a> : 中年人如何在减肥后稳定体重并防止反弹</li><li><a href="https://sspai.com/post/95430">为了帮助你回忆旅行足迹，我开发了「山河旅记」</a> : 「山河旅记」是一款专注于记录个人旅行经历的应用。它提供了简单高效的各种记录功能,如自动生成旅行足迹、支持批量导入照片、建立旅行图谱等,帮助用户轻松保存旅途中的点点滴滴,方便日后回忆重温。应用采用完全本地存储的设计,确保数据安全性,并计划持续完善更多实用功能,让每个旅行者都能拥有一本独一无二的旅行手记。</li><li><a href="https://rolen.wiki/how-to-elegantly-start-a-personal-blog/">如何优雅地开启个人博客？</a> : 最近陆陆续续收到了一些朋友关于想要开启个人博客的想法，有些是想通过公开输出，倒逼自己一把；有些是本来就有记录的习惯，希望拥有自己的一个独立博客；有些则是希望通过书写、记录，去发现探索自己的内心。各有目的和需求，但是最终都会碰到一个开启博客问题：如何写呢，如何分类自己的思想呢，如何去搭建呢，如何跨越自己的羞耻心公开教育自己呢，如何去持续稳定输出呢，想想就有一堆问题，有些是心理上的，有些是技术上的，有些是写作输出上，各有不同，这些问题都会导致在开启个人博客这件事上碰到诸多阻碍，而长期停滞不前，随后不了了之。</li></ol><h2 id="打点鸡血"><a href="#打点鸡血" class="headerlink" title="打点鸡血"></a>打点鸡血</h2><p>关于胶水工作： </p><p><img src="/images/Weekly#40/img_00_b5704661.jpg" alt="image"></p><h2 id="推广"><a href="#推广" class="headerlink" title="推广"></a>推广</h2><p>纯银的产品分析专栏，主要是为了扩展视野：</p><ul><li><strong>产品分析的重要性</strong> 在产品分析中，关注用户在产品中的行为比关注产品设计更为重要，因为用户行为能准确反映产品设计的效果。</li><li><strong>用户使用场景分析</strong> 产品分析应涉及用户使用场景、需求定位和市场分析，以确保产品结构和逻辑符合实际需求。</li><li><strong>系列产品分析</strong> 纯银系列的产品分析包括多季的内容，涵盖广泛的话题和不同的市场需求探讨，适合对产品策略有兴趣的读者。</li></ul><p><a href="https://www.xiaobot.net/p/pmdogs8?refer=b8dd7faf-f7b0-4957-b1fd-ad587ab3706d">https://www.xiaobot.net/p/pmdogs8?refer=b8dd7faf-f7b0-4957-b1fd-ad587ab3706d</a> (二维码自动识别)</p><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#x64;&#114;&#101;&#97;&#x6d;&#116;&#97;&#x6c;&#x65;&#46;&#x6a;&#103;&#64;&#x67;&#109;&#97;&#105;&#x6c;&#46;&#x63;&#x6f;&#x6d;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-40&quot;&gt;&lt;a href=&quot;#Android-Weekly-40&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #40&quot;&gt;&lt;/a&gt;Android Weekly #40&lt;/h1&gt;&lt;blockquote</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #39</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-01-12-Android-Weekly-39/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-01-12-Android-Weekly-39/</id>
    <published>2025-01-11T16:00:00.000Z</published>
    <updated>2025-01-12T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-39"><a href="#Android-Weekly-39" class="headerlink" title="Android Weekly #39"></a>Android Weekly #39</h1><blockquote><p><strong>Android Weekly</strong> 是由 Gracker 精心整理和发布的技术资讯周刊，每周一准时更新，汇聚了过去一周内与 Android 相关的高质量技术文章、泛客户端技术的最新动态，以及其他值得关注的非技术类文章，内容覆盖广泛，从 Android 开发到跨平台技术，从系统底层优化到前沿技术分享，为开发者提供全方位的知识拓展。<br> 本周刊可以通过微信公众号、知乎专栏、掘金专栏、个人博客、竹白等平台订阅和阅读。  </p></blockquote><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><a href="https://android-developers.googleblog.com/2024/09/become-better-android-developer-compiler-explorer.html">Tools, not Rules: become a better Android developer with Compiler Explorer</a> : 该文章介绍了一个名为 Compiler Explorer 的工具,它可以帮助 Android 开发者了解编译过程中的优化机制。该工具允许开发者探索 Java 和 Kotlin 代码是如何转换为汇编指令的,以及 ART 编译器在此过程中进行的各种优化。文章通过几个具体的代码示例,展示了 Compiler Explorer 如何帮助开发者理解编译器的工作原理,从而更好地编写高效的 Android 代码。</li><li><a href="https://juejin.cn/post/7457533674582835237">几乎是当下最详细的 AOSP 编译与调试运行指南</a> : 这篇文章是关于 AOSP 编译与调试运行的详细指南，包括 Android 13 源码在 Ubuntu 环境下的全量下载与编译，源码导入 AS 的两种方式及相关操作，介绍了源码目录结构、编译产物信息、代码搜索和单独模块编译，还阐述了系统调试方法，如源码修改编译运行、断点调试系统代码（Java）。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI4NTk1NzYwNg==&mid=2247483871&idx=1&sn=0b08a6b0c3f79d96f54560af764265cc&chksm=ea70e069786b73e4f4c1b57a2849b7d668a46a8d2693af70977f4cc11eef3ba7adf6187316be&mpshare=1&scene=1&srcid=0108lGyYDno2hq5I9jz9zFdP&sharer_shareinfo=d1350be78c4a1d74d86b9ad4fcc5d174&sharer_shareinfo_first=d1350be78c4a1d74d86b9ad4fcc5d174">闲谈丨像福尔摩斯一样去解 Bug</a> : 解决 Bug 时，要像福尔摩斯一样收集充分的数据和工具，深入了解原理而非表象；要拥有广博的视野，洞见问题的本质；要对已解决的问题保持学习和思考，不断积累经验。同时还要客观认识 Bug 的性质和影响，优先处理高风险 Bug，考虑用折衷方式应对无法根治的问题。</li><li><a href="https://plantegg.github.io/2025/01/09/CPU%20%E4%BD%BF%E7%94%A8%E7%8E%87%E9%AB%98%E5%B0%B1%E4%B8%80%E5%AE%9A%E6%9C%89%E6%95%88%E7%8E%87%E5%90%97/">CPU 使用率高就一定有效率吗？</a> : 这篇文章讨论了 CPU 使用率高并不一定意味着效率高的问题。作者通过具体实验分析了线程并发计数时悲观锁(synchronized)和自旋锁(CAS、spin_lock)的性能差异,并对自旋锁进行了优化。最后总结了内存墙是导致性能问题的核心原因,提出了几个相关的案例供读者参考。</li><li><a href="https://arthurchiao.art/blog/ai-agent-white-paper-zh/">AI Agent（智能体）技术白皮书（Google，2024）</a> : 本文介绍了基于生成式 AI 的”Agent”的基本架构和工作原理。Agent 是一个能够利用工具和编排层来扩展语言模型能力的应用程序，可以执行复杂任务并与外部系统交互。文章详细探讨了构成 Agent 的三大核心组件：模型、工具和编排层。其中工具是连接模型和外部世界的关键，包括 Extensions、Functions 和 Data Stores 等形式。此外，文章还介绍了通过上下文学习、基于检索的学习和微调等方式来提升 Agent 性能的方法。最后，文章给出了基于 LangChain 快速构建 Agent 原型的示例代码。</li><li><a href="https://www.preprints.org/manuscript/202501.0413/v1">LLM-Powered GUI Agents in Phone Automation: Surveying Progress and Prospects</a> : 本文详细介绍了 vivo AI Lab 联合香港中文大学 MMLab 等团队发布的关于大模型驱动的手机自动化智能体的综述论文。论文长达 48 页，覆盖了 200 余篇文献，系统总结了基于大模型的手机自动化技术的发展历程、技术框架、应用场景及未来挑战。文章首先回顾了传统手机自动化技术的局限性，如通用性差、维护成本高、意图理解能力弱等，随后介绍了大语言模型（LLM）如何通过自然语言理解、多模态感知和推理决策能力，推动手机自动化的智能化发展。论文还详细探讨了手机 GUI 智能体的框架设计、模型选择与训练、数据集与评估方法，并指出了未来研究的方向，如数据集多样性、设备端部署效率和安全问题等。</li><li><a href="https://juejin.cn/post/7438909551561146368">Android 性能优化：内存优化（理论篇）</a> : 这篇文章主要介绍了 Android 内存优化的理论知识，包括内存基础知识、内存分配、单进程内存上限、垃圾回收算法、引用类型、优化必要性及思路等。指出内存优化可避免 OOM 等问题，提升系统效率和用户体验。优化思路涵盖数据收集分析、借助工具排查问题、针对问题优化及制定长效治理策略。</li><li><a href="https://juejin.cn/post/7455541961673867264">Android 性能优化：内存优化（实践篇）</a> : 这篇文章是关于 Android 性能优化中内存优化的实践总结。先介绍了内存构成和获取内存信息，接着列举了常用内存检测工具及优缺点。然后阐述了 OOM 常见问题如 Bitmap 内存占用、内存泄露等，给出优化方式和监控方法。还提到了业务优化，包括设备分级和业务降级，以及线上监控和告警体系搭建。最后总结了内存优化的成果和不足。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NDIwMTExNw==&mid=2247595662&idx=1&sn=7d06460d5e5c75e4a888f5e8c3fcf636&chksm=c32b7a7cf45cf36a4cc4f235d88e75dce27b51ae783840599c945ce49bf07e9e34c5bd251a01&scene=58&subscene=0">让您的应用为 16 KB 页面大小的设备做好准备</a> : 为 16 KB 页面大小的设备做好应用准备</li><li><a href="https://medium.com/androiddevelopers/getting-started-with-camerax-in-jetpack-compose-781c722ca0c4">Getting Started with CameraX in Jetpack Compose</a> : 本文概述了如何使用 Android 的新 CameraX 和 Jetpack Compose 库在 Compose 中创建摄像头预览。</li><li><a href="https://tech.meituan.com/2025/01/06/openharmony.html">鸿蒙应用签名实操及机制探究</a> : 本文介绍了鸿蒙单框架应用的签名机制,拆解了每一步的实操过程和背后的实现原理,并对源码进行了分析整理签名的校验机制。从中探究了鸿蒙系统的安全设计思路,希望能给从事鸿蒙研发的同学提供一些借鉴。</li><li><a href="https://sorrycc.com/how-i-program-with-llms/">译：我是如何利用 LLM 进行编程的</a> : 本文作者分享了利用大语言模型(LLM)进行编程的个人经验和未来展望。作者主要通过自动补全代码、搜索技术问题、对话式编程三种方式利用 LLM,并认为这些方式都为提高编程工作效率带来积极影响。文章还分析了利用 LLM 编写可读测试、小型化包结构等新的编程趋势,并提出了 sketch.dev 这样专门针对 LLM 编程的 IDE 概念。</li><li><a href="https://zhuanlan.zhihu.com/p/16955691490?utm_medium=social&utm_psn=1860293429810040832&utm_source=wechat_session">谈功耗是什么</a> : 这是一篇关于移动设备功耗分析和优化的文章，功耗是硬件器件消耗电池能量的量度。我们需要从软件角度理解和估算功耗，通过分析软件结构和对硬件的使用情况来分解和定位功耗问题。从软件角度看功耗主要包括 CPU 负载、传感器使用、屏幕显示等各个方面。我们需要从进程、线程级别逐步深化到函数、任务级别来分析和定位功耗问题。在任务级别上，Android 应用的功耗主要体现在 Looper 消息处理、Binder 调用、线程回调等关键结构上，可以通过代码标注的方式将其与功耗情况关联起来。</li><li><a href="https://aijishu.com/a/1060000000398832">SPE profiling 及其使用</a> : 本文介绍了 Arm Statical Profiling Extension(SPE)，相比传统的性能监测单元(PMU)方式,SPE 可以更精确地采集 CPU pipeline 执行过程中的指令信息,包括指令地址、访问数据地址、延迟时间等关键指标,对于性能分析和优化非常有用。</li><li><a href="https://www.yanzhenjie.com/post/20241221/1f3fc18c6801/">Android 性能优化之绑定 RenderThread 到大核 CPU</a> : 本文从以下几个方面介绍了如何在 Android 中绑定任意线程到任意 CPU 上:<br> 1. 介绍了 sched_setaffinity 函数的用法,用于设置线程与 CPU 的亲和性。<br> 2. 介绍了如何获取手机 CPU 的频率信息,并根据频率将 CPU 划分为大中小三类。<br> 3. 介绍了 Android 系统中的 RenderThread 线程,以及如何找到并绑定它。<br> 4. 介绍了如何获取任意线程的 tid (内核线程 ID)。<br> 5. 给出了绑定线程到 CPU 的代码实现。<br> 6. 提供了 JNI 接口,供 Java 层调用绑定线程的功能。 </li><li><a href="https://zhuanlan.zhihu.com/p/16426243950?utm_medium=social&utm_psn=1859865987974832128&utm_source=wechat_session">性能周刊 2025-01-04 第 3 期</a> : 2025 年的第一期性能周刊</li><li><a href="https://mp.weixin.qq.com/s/7W89BwVet5uhSHUU3RiktQ">TargetSdk 30 升级后的 ARSC 压缩方案探索</a> : 本文主要介绍快手如何在 TargetSdk 30 上 重新对 resources.arsc 进行压缩，取得巨大包体收益的探索</li><li><a href="https://zhuanlan.zhihu.com/p/16545147271?utm_medium=social&utm_psn=1859591542999744512&utm_source=wechat_session">我在性能团队的这两年</a> : 这篇文章主要介绍了一个前端性能团队在实践过程中所遇到的一些问题及解决方案。包括性能指标的定义与细化、线上线下的防劣化机制、性能优化的具体手段等。整体来说,文章涵盖了性能优化的全生命周期,对于想要深入了解性能优化工作的同学来说是非常好的参考。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI2MjIyMjczMQ==&mid=2653047665&idx=1&sn=c7181c56bb2f5bd6349bce1d72367c1f&token=1773956890&lang=zh_CN&scene=21#wechat_redirect">一文彻底搞懂 Android 广播的所有知识 (上)–四大组件系统</a> : 一篇详细介绍 Android 广播机制知识的文章,从广播机制的原理、分类,到广播接收者、广播发送者、广播分发中心的原理和实现,全面系统地阐述了广播机制的各个方面。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzI2MjIyMjczMQ==&mid=2653047792&idx=1&sn=37a9a5bc7269e2d2841a4c2c9946f360&chksm=f0db5d0252d80600babbe4f373c32df3ada60735b88efabff94994c690420f7af209eb141c2a&mpshare=1&scene=1&srcid=0106niNynaDecdzx2AH0KWrD&sharer_shareinfo=0dce7b1d050d1335062c2fc0896483fa&sharer_shareinfo_first=0dce7b1d050d1335062c2fc0896483fa">一文彻底搞懂 Android 广播的所有知识 (下)–四大组件系统</a> : 文章详细介绍了 Android 广播的发送和接收流程，包括广播发送者、广播分发中心及广播接收者之间的交互机制。文章从广播的发送、接收、队列管理等方面全面解析了 Android 广播的运作过程。</li></ol><h2 id="非技术文章"><a href="#非技术文章" class="headerlink" title="非技术文章"></a>非技术文章</h2><ol><li><a href="https://blog.sailfishc.com/2024">橙子的 2024 年终总结：追寻幸福</a> : 这篇文章是作者 2024 年的年终总结,概括了他这一年在学习英语、跑步、旅行、人际关系以及工作等方面的思考和实践。作者从寻找幸福和财富的角度出发,探讨了复杂世界中如何平和地对待生活中发生的事情。他在各个领域的经历和感悟为读者提供了有价值的见解和启发。</li><li><a href="https://blog.sailfishc.com/sugar">控糖革命-为什么吃了红薯之后会犯困</a> : 这篇文章探讨了控制血糖的重要性,分析了各种食物对血糖的影响机制,并提出了一些有效的血糖管理技巧。作者分享了自己的亲身经历,通过对血糖曲线的持续监测和调整饮食结构,成功地改善了身体状况。文章强调平稳的血糖曲线对于健康的重要性,并提出了三个需要注意的关键点:1.葡萄糖并非唯一影响因素;2.评判食物优劣需考虑替代选择;3.建议都有科学依据支持。</li><li><a href="https://blog.sailfishc.com/english2">英语学习过程中的一些思考</a> : 这是作者关于自己学习英语半年来的一些思考和总结。作者在开始认真学习英语大约半年时间后,取得了一些进步,主要阐述了自己在寻找学习素材、阅读、听力以及背单词等方面的具体做法和一些心得。</li><li><a href="https://imzm.im/vivo-x200-pro/">vivo X200 Pro 使用体验</a> : 这是一篇关于作者对 vivo X200 Pro 手机的使用体验的文章。作者从购买选型、实际使用、系统操作、影像系统和电池续航等方面对这款手机进行了全面的评测和点评</li><li><a href="https://rolen.wiki/2025-dos-and-donts/">2025 年的一些做与不做</a> : 这篇文章讲述了作者对生活简单化的追求,并提出了 2025 年的一些”减法”和”加法”的想法,比如减少手机时间、对他人的评价等,增加写作、阅读、运动等方面的时间。作者提倡通过”20+20”原则来选择和保留家中的物品,鼓励断舍离,保留最喜欢的东西。</li><li><a href="https://rolen.wiki/some-thoughts-about-time-management/">对时间管理的一些思考</a> : Rolen 分享了他关于时间管理和内容输出的经验</li><li><a href="https://baoyu.io/translations/llms-in-2024">我们在 2024 年从大型语言模型中学到的事</a> : 这篇文章回顾了 2024 年大型语言模型 (LLM) 领域的重大进展,主要包括:LLM 模型性能的持续提升突破 GPT-4 水平、LLM 效率和价格的大幅提升、多模态 LLM 的崛起、基于提示词的应用生成成为常见功能,以及新兴的”可扩展推理”模型等。同时,文章也提出了一些亟需解决的问题,如 LLM 的使用难度上升、知识分布不均、模型批评等。</li><li><a href="https://w2solo.com/topics/5362">创业日记 独立开发周记 85 ：2024 年终总结</a></li></ol><h2 id="工具"><a href="#工具" class="headerlink" title="工具"></a>工具</h2><ol><li><a href="https://llmbook-zh.github.io/">电子书 - 大语言模型</a> : 该文章概述了大语言模型技术的发展历程及其在学术界和工业界的现状。作者指出,大模型技术的核心原理和关键技术细节往往难以完全解密,这限制了学术界的研究进展。同时,作者也对大模型技术的开放性表示乐观,认为随着更多核心技术的公开和共享,大模型技术的”透明化”将进一步提高。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3OTYwMjcxMA==&mid=2247488634&idx=1&sn=5c07be393a21ec29c1e7b57432d5affd&chksm=ce5273e456a9e242cbcb5ddb42a2a732a84d6fba8b6e6a1c9d6e60c583e931a6150ff36e375a&mpshare=1&scene=1&srcid=0108YxgA7cywjKuymVzomsTE&sharer_shareinfo=4b4f4111efff99d418d52653b1a3ce05&sharer_shareinfo_first=4b4f4111efff99d418d52653b1a3ce05">Windsurf：面向未来的 AI 编程工具详解</a> : Windsurf 是一款面向未来的 AI 编程工具,它采用先进的上下文感知、多模型 AI、实时协作和高效代码管理功能,为开发者提供全面的编程支持,提升开发效率和代码质量。它通过创新性的 Flows 模式和 Cascade 功能,为 AI 与人类开发者的协作提供了全新的范式,并在团队协作、项目管理等方面表现出色。该工具在分析代码库、检测和修复错误、自然语言编程等方面也有广泛应用,可有效优化开发流程。随着 AI 技术的进步,Windsurf 有望进一步提升其智能化水平,为开发者带来更优质的编程体验。</li></ol><h2 id="杂记"><a href="#杂记" class="headerlink" title="杂记"></a>杂记</h2><p><img src="/images/Weekly#39/img_00_c09963bb.jpg" alt="image"></p><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#x64;&#x72;&#x65;&#97;&#x6d;&#116;&#97;&#x6c;&#101;&#46;&#106;&#103;&#64;&#103;&#x6d;&#97;&#105;&#108;&#x2e;&#x63;&#111;&#x6d;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-39&quot;&gt;&lt;a href=&quot;#Android-Weekly-39&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #39&quot;&gt;&lt;/a&gt;Android Weekly #39&lt;/h1&gt;&lt;blockquote</summary>
      
    
    
    
    
  </entry>
  
  <entry>
    <title>Android Weekly #38</title>
    <link href="https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-01-06-Android-Weekly-38/"/>
    <id>https://androidweekly-1251724055.cos.ap-shanghai.myqcloud.com/2025-01-06-Android-Weekly-38/</id>
    <published>2025-01-05T16:00:00.000Z</published>
    <updated>2025-01-05T16:00:00.000Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Android-Weekly-38"><a href="#Android-Weekly-38" class="headerlink" title="Android Weekly #38"></a>Android Weekly #38</h1><h2 id="Android-Weekly-202501"><a href="#Android-Weekly-202501" class="headerlink" title="Android Weekly #202501"></a>Android Weekly #202501</h2><blockquote><p><strong>Android Weekly</strong> 是由 Gracker 精心整理和发布的技术资讯周刊，每周一准时更新，汇聚了过去一周内与 Android 相关的高质量技术文章、泛客户端技术的最新动态，以及其他值得关注的非技术类文章，内容覆盖广泛，从 Android 开发到跨平台技术，从系统底层优化到前沿技术分享，为开发者提供全方位的知识拓展。<br> 您可以通过微信公众号、知乎专栏、掘金专栏、个人博客、竹白等平台订阅和阅读。  </p></blockquote><p>本期作为 2025 年的第一期，我将为大家呈现去年精心收集的精华内容，涵盖技术与非技术领域，涉及个人开发者、团队建设、公众号运营以及个人博客等多个方面，力求为读者带来更多启发与价值。内容可能有点多，大家可以收藏起来慢慢看。</p><h2 id="技术文章"><a href="#技术文章" class="headerlink" title="技术文章"></a>技术文章</h2><ol><li><p><a href="https://juejin.cn/post/7302740437529853963">大型 APP 的性能优化思路</a>：本文主要讲述了大型 APP 的性能优化思路。与中小型 APP 不同,大型 APP 需要有一个专门的团队来从全局的视角进行性能优化,重点包括如何管控业务对资源的使用、如何度量业务对资源的消耗、以及如何让业务在资源紧张时做出更优的策略。文章以速度、流畅性优化和内存优化为例具体阐述了这些思路。  </p></li><li><p><a href="https://juejin.cn/post/7261599630827765816">使用 Perfetto 定位应用启动性能的瓶颈</a>:这篇文章主要介绍了如何使用 Perfetto 工具定位 Android 应用程序启动性能的瓶颈。文章详细讲解了应用启动时间的两个核心指标 TTID 和 TTFD、Perfetto 工具的使用方法,以及通过 Perfetto 分析应用启动过程中可能出现的性能问题,如启动时触发 GC、主线程耗时操作、OpenDexFilesFromOat 耗时过长以及连续多帧绘制超时等。  </p></li><li><p><a href="https://juejin.cn/post/7320437823332515840">Android 线程性能优化方法总结</a>: 本文主要总结了 Android 线程性能优化方法，包括进程和线程的概念、常见问题及优化手段。常见问题如进程内存隔离、进程与线程 ID 关系等。优化手段涵盖降低主线程任务量、提高线程执行效率，如避免使用 AQS、减少线程创建、锁消除等，还介绍了非常规优化及其他性能方面的注意事项。  </p></li><li><p><a href="https://mp.weixin.qq.com/s/5xIJIN2nUBN2h6McYFg2FQ">浏览器内核创新技术演进及实践 - U4 5.0</a> : 文章介绍了 UC 内核团队研发的最新一代 Web 引擎 U4 5.0,从渲染引擎、JS 引擎、多媒体技术、基础技术等方面,详细阐述了内核引擎技术的演进思路和应用实践。通过一系列技术优化,如直接光栅化、直接合成、InRenderer GPU、Code Cache、JS AOT、U4 Snapshot 等,可以让 Web 应用实现 App 级的优秀性能体验。  </p></li><li><p><a href="https://juejin.cn/post/7293121819602370610">Android Kotlin 协程初探 | 京东物流技术团队</a>:该文章是关于 Android Kotlin 协程的介绍,包括协程的概念、与其他编程语言中协程的关系、协程解决的问题,以及协程的工作原理等。  </p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzAxNDEwNjk5OQ==&mid=2650525746&idx=1&sn=37619da096828e09460402ee2ed1e7ad&chksm=8397182ab4e0913ce10cf1f06b731c5e01f3937a0521b0cd7f7071eb73a5187fa6131a9f3e5c&mpshare=1&scene=1&srcid=0109MqiKkE0jo6z59DUTqMYy&sharer_shareinfo=e93f1f2b993bbf92fa67f744b0b4c0d3&sharer_shareinfo_first=e93f1f2b993bbf92fa67f744b0b4c0d3">如何正确地理解应用架构并开发</a>:本文探讨了应用架构的相关概念,包括模块与包的区别、分层架构设计、CQRS 模式、六边形架构和洋葱圈架构等,并针对一些常见的工程实践问题给出了建议和最佳实践。  </p></li><li><p><a href="https://source.android.com/docs/core/tests/debug/eval_perf?hl=zh-cn">Evaluating Performance</a>:这个文章思路写的特别好，简单总结了这个文章的思路：Google 看待性能方式，还是非常全面和独到的。性能问题一类是容量问题，一类是噪声问题。容量决定了最大负载，提高系统容量的方法，包括调频 CPU&#x2F;GPU frequency，CPU cores online，温控测量，组件优化，降负载；jitter 是随机噪音，那些措施可以减少随机噪音，如文件预读，应用反复启动；性能优化测量方法，如 TouchLatency 测试应用，如何在低频设置下，找到 jitter，如 block D 状态位置等  </p></li><li><p><a href="https://juejin.cn/post/7326268908984434697">大公司如何做 APP：背后的开发流程和技术</a>：本文主要讲述了大公司在开发 APP 时常见的研发流程和技术特点。涵盖了产品需求、研发流程、技术实现等多个方面,并对一些常见的技术问题如组件化开发和大前端开发进行了深入分析。  </p></li><li><p><a href="https://juejin.cn/post/7329028515382820916">Android 居然还能这样抓捕和利用主线程碎片时间</a>：本文通过分析 Android 应用开发中主线程卡顿问题,提出了利用主线程空闲时间来执行业务逻辑的解决方案。方案包括帧率耗时监控模块、空闲时间切片模块、耗时任务拆分模块和子任务智能调度模块。通过这种方式,可以有效地利用主线程的空闲时间,提高主线程资源的利用率,从而减少主线程的卡顿,给用户带来更好的操作体验。  </p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzU3Mzk1ODczOQ==&mid=2247483841&idx=1&sn=654420d945b05478957bc4a9c2290163&chksm=fd38fefdca4f77eb129f49e176bb24de87986304e065f9a85cec02d3486c05a6c1d88e4ed7db&mpshare=1&scene=1&srcid=0131n37O34fdh4wVRzxa8B7S&sharer_shareinfo=be72107ec42736109bf519c3df0c2b00&sharer_shareinfo_first=be72107ec42736109bf519c3df0c2b00">西瓜 Android 子进程优化治理实践</a>：该文章描述了西瓜视频客户端团队在针对启动阶段子进程优化治理方面的实践。主要包括 push 进程、小程序进程、downloader 进程、Sandboxed 进程等子进程的优化方案及其实践效果。  </p></li><li><p><a href="https://a11y-guidelines.orange.com/en/mobile/ios/wwdc/nota11y/2021/21hitches/">WWDC 2021: Avoid hitches and discover the Render Loop</a>：这篇文章概括地介绍了 WWDC 2021 上关于”避免卡顿和探索渲染循环”的三个视频内容  </p></li><li><p><a href="https://juejin.cn/post/7136008620658917407">Android 卡顿与 ANR 的分析实践</a>：本文主要介绍了 Android 中卡顿和 ANR 的分析实践,包括产生原理、监控工具 LooperMonitor 的实现和优势,以及通过实际案例分享了利用工具分析和解决问题的过程。  </p></li><li><p><a href="https://blog.csdn.net/feelabclihu/article/details/136266302">Perfetto 数据流架构故障分析：带你研究 trace 为何丢失</a>：这篇文章介绍了 Perfetto 这个跨平台系统跟踪和分析平台的数据编码与传输(Data Flow)架构设计,并从这个角度解释了数据丢失可能出现的原因,并提出了相应的解决或规避建议。文章还介绍了 Perfetto 的基本架构,包括数据生产者、消费者、以及 IPC 通信的模型。同时还分析了 Perfetto 在平衡观测开销与传输可靠性、数据编码协议等方面的权衡与设计。最后给出了一些如何降低 Perfetto 使用故障的具体建议。  </p></li><li><p><a href="https://juejin.cn/post/7282245376424345656">Android 和 iOS 渲染架构差异对比，孰胜孰负？</a>：文章对比了 Android 和 iOS 的渲染架构差异，指出两者上层都非直接通过 CPU 绘制，真正负责绘制的是 Android 的 SurfaceFlinger 和 RenderThread 及 iOS 的 render server。强调 Metal 和 Vulkan 等底层 API 对渲染性能影响更大，还比较了 Metal 和 Vulkan 的特点及使用差异。  </p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzAxMDM0NjExNA==&mid=2247493516&idx=1&sn=c8ff0c1adaecb008a60d8b3a472a8b50&chksm=9b536c61ac24e5772abbf6fc4b9f2d48cf714321dac2e7b9bb5b26fb375dc507d43520b4ac95&mpshare=1&scene=1&srcid=0412A4ynGpMWYjx0bHOtue8v&sharer_shareinfo=9ef80c16665b84af445502e40a09c7cf&sharer_shareinfo_first=9ef80c16665b84af445502e40a09c7cf">Android 中基于 DWARF 的 stack unwind 实现原理</a>：本文介绍了 Android 中基于 DWARF 标准的 stack unwind 实现原理。首先介绍了基于 frame pointer (FP) 的栈回溯方法,并分析了编译器优化对 FP unwind 的影响。随后深入介绍了 DWARF 标准中 .eh_frame 和 .debug_frame 等 section 的作用和内部格式,并举例说明了 readelf 工具如何解析这些信息以实现栈回溯。最后简单介绍了 simpleperf 中如何利用 DWARF 信息进行基于事件的栈回溯。  </p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTUwMTQ5NQ==&mid=2247483919&idx=1&sn=1983d39e54441b97bd4581e247799fa1&chksm=c2eeb0d7f59939c14a1863ca7afe79d136c14e9a7ea71e9ca2fb9ec47f96f5e1b50bb575093d&mpshare=1&scene=1&srcid=05154FuoO96m8INpJqN1NXbS&sharer_shareinfo=5c627019062cd9df0c9ab256086aacaf&sharer_shareinfo_first=5c627019062cd9df0c9ab256086aacaf">指尖上的科技：智能手机触摸屏技术与功耗优化</a>：本文介绍了触摸屏的工作原理,包括触摸屏的分类、工作模式以及关键参数,并分析了常见的触摸屏功耗问题和优化策略。文章重点介绍了电容式触摸屏的工作原理,并阐述了触摸屏的基本工作流程。同时,文章还介绍了不同工作模式下的功耗特点,以及针对常见的功耗问题提出了相应的优化策略。此外,文章还提供了一些功耗调试的方法,帮助用户解决触摸屏功耗相关的问题。  </p></li><li><p><a href="https://zhuanlan.zhihu.com/p/55192083">一颗像素的诞生</a>：该文章主要阐述了浏览器内核如何将网页内容渲染成像素，整个渲染流程包括解析 HTML、处理 CSS 样式、布局排版、绘制、光栅化、合成、上传等步骤。文章详细介绍了每个步骤的工作原理和优化方案。  </p></li><li><p><a href="https://juejin.cn/post/7371712684796706816">ART 虚拟机中的栈上替换编译(OSR)</a>：本文主要介绍了 Android Runtime (ART) 虚拟机中的栈上替换编译(OSR)技术。ART 虚拟机中有三种编译策略:kBaseline、kOptimized 和 kOSR。当解释执行方法时,如果方法的执行频率过高,就会触发 kBaseline 编译。然而 kBaseline 编译出来的机器码只能从方法入口处开始执行,无法从中间指令处开始执行。为了解决这个问题,ART 引入了 OSR 编译。OSR 编译会在方法的循环回边处构造一个优化后的机器码执行栈,从而实现从中间指令处开始执行。文章详细介绍了 OSR 编译的实现机制,包括栈帧结构、寄存器分配等关键技术。  </p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzAxMDM0NjExNA==&mid=2247493704&idx=1&sn=0f0a2b98506d864f5a8cd75775a65f0b&chksm=9a7e0cd9f617a17b668d0b83d938c1acff73343fc1e7be1e5a3f183a64096eb87c886f94ff49&scene=0&xtrack=1">全方位剖析内核抢占机制</a>：全方位剖析了 Linux 内核中的抢占机制(preemption)，包括其原理、实现细节、对系统性能和用户体验的影响。重点介绍了 Linux 内核中 3 种抢占模型的异同、内核抢占的实现机制、如何通过内核抢占解决优先级反转等问题。并针对具体案例分析了内核中不当使用抢占接口导致的实时性下降问题。</p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTUwMTQ5NQ==&mid=2247483926&idx=1&sn=494bbb2377bdea61275e49dc7d9f0880&chksm=c2eeb0cef59939d83a3630c9f6093268f455018b3680406253320c0cf2d12b7be64f552cf2d9&mpshare=1&scene=1&srcid=052799XdXFrrCjQyfPOr8iAh&sharer_shareinfo=84a852c3c310e93e4566f7141013a617&sharer_shareinfo_first=84a852c3c310e93e4566f7141013a617">内核内存稳定性新特性：Page Table Check 机制解读</a>：内核引入了 Page Table Check 机制来检测内存损坏问题。这是为了解决内核中长期存在的一类内存引用计数 bug。</p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzAxMDM0NjExNA==&mid=2247493754&idx=1&sn=289c5e41a176c73511e24963682ed4a8&chksm=9b536397ac24ea81ea1fdca7ba804bc31398878a36e6d1cf5db77aaf3113fee531de7a5f9b2b&mpshare=1&scene=1&srcid=0531TkeSRKDZlhKZ0doeI7eJ&sharer_shareinfo=2feb0ac6b1bee60d72ca657f411d350a&sharer_shareinfo_first=2feb0ac6b1bee60d72ca657f411d350a">内核调度客制化利器：SCHED_EXT</a>:本文介绍了 Linux 内核的 SCHED_EXT 可扩展调度器,它提供了一个支持 eBPF 程序修改调度策略的调度类。SCHED_EXT 的目标是让开发者更易于实验和探索新的调度策略,并支持满足特殊应用场景的深度定制化调度。文章详细介绍了 SCHED_EXT 的基本框架、扩展支持接口、核心数据结构和调度逻辑,并以 Central Scheduler 示例说明了 SCHED_EXT 的 bpf 调度器应用。</p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzI1MzYzMjE0MQ==&mid=2247507704&idx=1&sn=6a52e952b8ad823b2edf327ed415c331&chksm=e9d3151adea49c0cf4179967e1064e6e5e3e00fed549c0d853d997f656a041b7fdb49ba03744&mpshare=1&scene=1&srcid=0611dCViRoGqJVmLjtqqpx7S&sharer_shareinfo=64f9cac3a09b2ba0186e1c735e23ee18&sharer_shareinfo_first=64f9cac3a09b2ba0186e1c735e23ee18">抖音 Android 端图片优化实践</a>:本文从抖音 Android 端图片优化历程着笔，主要介绍字节自研 BDFresco 图片框架及其在抖音的最佳实践、经验沉淀、业务价值。通过分享业务视角遇到的一些问题和我们的解决思路，希望能抛砖引玉，为遇到类似困扰的伙伴们提供有价值的参考。</p></li><li><p><a href="https://juejin.cn/post/7374616167761444890">速度优化：充分利用 CPU 闲置时刻</a>:文章主要介绍了充分利用 CPU 闲置时刻提升效率的优化方案。包括通过 proc 节点文件下的 CPU 数据和 times 函数判断 CPU 是否闲置。proc 文件方案中，介绍了总 CPU 消耗和进程 CPU 消耗的计算方法及相关数据含义，还提到了 CPU 闲置通知的采集时间范围和使用率等。times 函数方案在高频判断场景中性能更好，通过计算 CPU 速率判断闲置，实现更简单。</p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzAxNDEwNjk5OQ==&mid=2650535396&idx=1&sn=2c3024096907038c6052de089c52c113&chksm=83973dfcb4e0b4ea323b42f06f9568e5e291b00267de5e4d69128fcadc385b2b3666eb52998b&mpshare=1&scene=1&srcid=0715eQroG7ilI6dqFIOUjA6X&sharer_shareinfo=ce6aa68412476dc261e30a1938db50ab&sharer_shareinfo_first=ce6aa68412476dc261e30a1938db50ab">淘宝页面首帧优化的经验和心得</a>:本文分享了淘宝移动端页面首帧优化的经验和心得。主要包括以下内容:<br> 1. 首帧优化的重要性,如建立用户好感度、提升转化率、节省成本等。<br> 2. 首帧的定义和衡量标准,包括 Loading 图、主体内容呈现、页面可交互等阶段。<br> 3. 分析和排查性能问题的方法,包括了解现状、原理分析、使用性能分析工具等。<br> 4. 常见的优化方案和策略,如预加载&#x2F;缓存、延迟初始化、并行处理、View 渲染优化等。<br> 5. 线上验收和防劣化机制的重要性。<br> 6. 持续迭代优化和复杂度管理的建议。</p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MjM5ODYwMjI2MA==&mid=2649784665&idx=1&sn=2f928c1484e7858772feec33180fa9c2&chksm=becc122289bb9b3454c233998f53ea2a03f887f4fe0f1db6f4e9be810a05537a92933adc2929&mpshare=1&scene=1&srcid=0806czFIAhJ0wp5ln8sbgmlN&sharer_shareinfo=8852965af9bf1e28fca12d463018ec2b&sharer_shareinfo_first=8852965af9bf1e28fca12d463018ec2b">GPU 性能原理拆解</a>:该文章从 GPU 的架构角度分析了常见的一些 GPU 性能优化「迷思」,并提出了正确的分析方法,包括分析 GPU 的隐面剔除策略、顶点着色器执行效率、带宽瓶颈、分支预测等。同时还介绍了移动端 GPU 独有的一些特点,以及验证性能优化效果的一些测量指标。</p></li><li><p><a href="https://juejin.cn/post/7407385581079396389">抄 Apple Intelligence 作业的思路</a>:文章主要探讨了 Apple Intelligence 相关内容，包括其诞生的技术背景、特点、启示以及对终端模型的预言等。技术背景涉及规模扩展、价格竞争及存在的问题。Apple Intelligence 特点为强大、直观、集成、个人向，有写作工具等功能，存在隐私风波等情况。其启示包括注重产品使用体验和用户情绪价值、面临生态罗生门等。此外还探讨了抄其作业需考虑信息和处理能力来源，以及对终端模型部署的预测。</p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649080671&idx=1&sn=64fee405d5ed5cc60e896d51aeb764de&chksm=868b6e73bdf60c0b9f047479cc8b49fbd037b2af726d8c0acd106866dbc84236150ac3e2b1a8&mpshare=1&scene=1&srcid=1018dKqg2vmlD6VvisF9kbHJ&sharer_shareinfo=071172dc1ee7943d97c59423eb48c53d&sharer_shareinfo_first=143a605e5791f6adf1b00d75afcba315">vivo X200 系列手机做了哪些性能优化</a>:该文主要介绍了 vivo X200 系列手机在性能优化方面做出的努力。主要包括: 采用高通最新的 CPU 芯片,优化缓存结构,调度算法优化,内存管理优化,触控系统优化,以及通信信号优化等方面。文章从多个角度分析了 vivo 在这些方面的创新和改进,为用户带来更出色的手机性能体验。</p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649080645&idx=1&sn=60e238c451573d9937880b6a008170d3&chksm=86d5c5d954828205be88c62bd3c6fdb7f79e92402e22ee8c1b2d0684cd26ff5bf92a5ac3b264&mpshare=1&scene=1&srcid=1019e8ahS02yoFqzoUl6kgeU&sharer_shareinfo=674924f0c9447dece75eb57d0fb58e85&sharer_shareinfo_first=674924f0c9447dece75eb57d0fb58e85">Android 系统的锁优化</a>:锁 Lock 的使用和优化在并发的软件系统开发中，是个典型的场景，除了可能导致性能开销外，严重的甚至出现影响系统稳定的死锁问题。本文通过 android 系统源码的具体案例，来简单介绍下常见的锁优化，包括：忘加锁，多加锁，加错锁，锁小了，锁大了等情况。大锁转小锁，小锁转无锁等案例。</p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=Mzg2MjE0MTE2MQ==&mid=2247495783&idx=1&sn=0a8a370aca2fda834a37ddcfe520e8d5&chksm=cff519d25fe1bb6e9aa8a5165227e904f945c090f787def9a78b6683fb2349129453f9893ad7&mpshare=1&scene=1&srcid=1021y3n65r8J5BVYmnrbXHdp&sharer_shareinfo=fe4f3072aeff8de1527d784be319743f&sharer_shareinfo_first=fe4f3072aeff8de1527d784be319743f">启动优化：盘点那些《不常规》的黑科技</a>:该文章介绍了启动时间优化的一些方法,包括梳理冗余逻辑、设计启动框架、线程梳理、优化闪屏页、利用 Baseline Profile 技术,以及一些”非常规”的优化策略,如 Apk 资源重排、主动触发 dex2aot、启动阶段抑制 GC、以及保活策略等。</p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649080714&idx=1&sn=88de391b8ca061f9544119effd04bbd6&chksm=863715b448f7dc52de0e7810404b6e882c547d650fe8f1342b7add309125757cae4061bea82e&mpshare=1&scene=1&srcid=10230OUnqizxfiGmmPr5COAz&sharer_shareinfo=23bd68ebd7239baf7217064bca5abf1a&sharer_shareinfo_first=23bd68ebd7239baf7217064bca5abf1a">各个手机发布会上的游戏帧率能准确对比出谁家的手机性能更流畅么？</a>:文章总结了如何更准确地评估手机游戏的性能指标,不仅仅看平均帧率。文章指出,平均帧率并不能完全反映游戏的流畅性,需要从多个方面了解游戏帧率的性能。</p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzAxMDM0NjExNA==&mid=2247495119&idx=1&sn=644d045571115f034f9e2c0df911dd76&chksm=9ac69b859648d1018997c89c6fa546261d995d06c686768ec26363989829ce429e6c6f740d2d&mpshare=1&scene=1&srcid=1025wbrzFokwCe6RToBZJkYJ&sharer_shareinfo=820bde6421c4e3c19029d3f05b919ed9&sharer_shareinfo_first=820bde6421c4e3c19029d3f05b919ed9">利用 ADPF 性能提示优化 Android 应用体验</a>: Android Dynamic Performance Framework(ADPF)是 google 推广的一套用于优化散热以及 CPU 性能的动态性能框架。本文主要介绍其中的 performance hint 的部分。</p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzkyNTMwMjI2Mw==&mid=2247502913&idx=1&sn=32ffb23cce0770a51b61ae900cf5c129&chksm=c0102fc4133d85368d0eb4f3eea03e7d50ff2e7fe7867c56474509bb33176f536192cfee50be&mpshare=1&scene=1&srcid=1107JDY6EK4JHyRH9yQkh834&sharer_shareinfo=39438cd41189ed9a5b9a4800e8c5a52a&sharer_shareinfo_first=39438cd41189ed9a5b9a4800e8c5a52a">技术剖析 | Java 内存屏障：从理论到实现</a>:内存屏障（Memory barrier）是一组处理器指令，使 CPU 或编译器对屏障指令前后发出的内存操作强制实施排序约束，通常意味着在屏障之前发出的操作保证在屏障之后发出的操作之前执行。本文将深入探讨 Java 中内存屏障的概念、应用以及在 JVM 中的具体实现，从理论到实现阐述这一主题。</p></li><li><p><a href="https://juejin.cn/post/7436662001802002484?share_token=EA965195-1764-42F8-BCE2-5E1A0FC67F92">关于 Android15 GKI2407R40 导致梆梆加固软件崩溃</a>:文章主要讲述了因 Android15 GKI2407R40 导致梆梆加固软件崩溃的问题。大量 App 闪退，经分析是访问无效地址导致段错误。通过多种手段分析，发现根本原因是 7r40 缺少相关补丁，解决办法是回退版本或应用后面正常版本。文中还介绍了问题分析过程和相关调试方法。</p></li><li><p><a href="https://android-developers.googleblog.com/2024/09/become-better-android-developer-compiler-explorer.html">Tools, not Rules: become a better Android developer with Compiler Explorer</a>: 这篇文章介绍了 Compiler Explorer 这个工具,它可以帮助开发者深入了解 Android 编译器的工作原理。文章展示了如何使用 Compiler Explorer 分析 Android Java 和 Kotlin 代码的编译输出,并介绍了一些编译优化技术,如返回值合并、常量折叠等。此外,文章还讨论了代码混淆和基线配置文件对编译过程的影响。总的来说,这篇文章鼓励开发者使用工具而不是死记硬背规则来提升代码效率。</p></li><li><p><a href="https://zhuanlan.zhihu.com/p/560738175">移动平台的 GPU 性能分析</a>:这篇文章介绍了在移动平台上分析 GPU 性能的方法。作者介绍了通常分析移动 GPU 性能的目的、使用的工具以及相关的性能指标,包括实时开销、带宽开销和 Shader Core 性能等方面。文章还讨论了在分析游戏场景数据时需要关注的一些指标。总的来说,这篇文章为移动游序渲染性能分析提供了一个全面的参考。</p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzIwNTQxMjM5MA==&mid=2247486153&idx=1&sn=b168336e8db58169920df884299d323e&chksm=96ac8b78f87752c371af4955aad9b02e6a0cd9a3480de6598338d0dfce8130dd5f15586211f0&mpshare=1&scene=1&srcid=1213fSwSUUDto6djLe0Ij9sb&sharer_shareinfo=2361822b449ecd2405b0e962d166200e&sharer_shareinfo_first=2361822b449ecd2405b0e962d166200e">结合源码和 Perfetto 分析 Android 渲染机制</a>:这篇文章主要介绍了 Android 渲染机制的原理和流程,结合 Perfetto 工具从多个角度分析 Android 渲染过程,并解答了一些渲染相关的常见问题。</p></li><li><p><a href="https://android-developers.googleblog.com/2024/12/reddit-improved-app-startup-speed-using-baseline-profiles-r8.html?m=1&s=09">Reddit improved app startup speed by over 50% using Baseline Profiles and R8</a>:Reddit 通过使用 Baseline Profiles 和 R8 编译器优化大幅提高了 Android 应用的启动速度和渲染性能。该应用还采用 Jetpack Compose 重写了旧版 UI,在用户体验和开发体验上都有所改善。</p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzkzOTUwMTQ5NQ==&mid=2247484208&idx=1&sn=5267e79091eee8a07d79edb72e40aab4&chksm=c34df788be4664e817d10bced2b2cf43d0a15f743a856e5e7ed567a3a9b8d8fc6f4cffa731ef&mpshare=1&scene=1&srcid=1213w0lMpeCKfYIjjv92AyMl&sharer_shareinfo=777205135901b8fced7dac55a2ee195c&sharer_shareinfo_first=777205135901b8fced7dac55a2ee195c">物格而后知至：WALT 调度器之 RTG</a>:RTG（Related Thread Group）是高通引入的一个特性，目的是将关联的进程加入到同一个 group 组中，用于提升性能。比如显示相关的主线程和 render 线程就可以加入到相同的 RTG 组中，根据实际需求，对其进行一些特殊处理。可以将其调度到同一个 CPU 簇上，使得它们可以共享相同的 cache 资源，减少 cache miss；也可以聚合 RTG 组里的任务负载，提升 CPU 的频率，达到性能提升的目的。RTG 对于选核也会产生一定的影响。除此之外，在 RTG 的基础上引申出来很多其它的特性，如优先调度等。</p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=Mzk0NzcwMTUwNQ==&mid=2247483719&idx=1&sn=4170cd355f236e4973353d493b748ee2&chksm=c2407fc2ce9dc29ab4802ef66aa8a6a4d1509f1785a38dc9339bb479ba90ba5060a6a866a3c3&mpshare=1&scene=1&srcid=1220xycRIiyCSYTOof4ZmQY1&sharer_shareinfo=369a1d5b4789697508a05700635e283a&sharer_shareinfo_first=5049cf751585dc51a5c48a42d855e3b2">不做 Linux 内核代码的复读机</a>:这篇文章讨论了学习 Linux 内核的正确方式。作者认为很多人只是在简单地复读 Linux 内核代码,而没有真正理解其背后的原理和思想。作者提出了七个关于调度器的问题,这些问题都需要内核开发者解决。</p></li><li><p><a href="https://juejin.cn/post/7437904276918321152">【Android 原生问题分析】夸克、抖音划动无响应问题【Android14】</a>:这篇文章主要分析了 Android14 中夸克、抖音划动无响应的问题。通过多次添加 log 分析，发现问题出在 DisplayManagerService 通知机制上。一个 App 多个进程共享 uid 时，通知记录创建方式有误，导致部分进程无法收到通知。最终 Google patch 解决了此问题，将通知记录由一个 uid 对应一个改为对应一组。</p></li><li><p><a href="https://mp.weixin.qq.com/s?__biz=MzA3MjMwMDIzNg==&mid=2649080865&idx=1&sn=ffa2a2c290e23cdc0248bb087c467e90&chksm=86fcb183b5fcea04e416f8c05491d840c589493da6e37576480f22ba5cb3f27b9bfdc68efd8c&mpshare=1&scene=1&srcid=1222696YIZkKUyKFMa8vFSz2&sharer_shareinfo=baca5f7cb28e5cfbccfce2b4d8f4579d&sharer_shareinfo_first=baca5f7cb28e5cfbccfce2b4d8f4579d">Android 图形架构缺陷</a>:Android 图形架构缺陷分析及优化方案</p></li><li><p>芦半山的文章：<br> 1. <a href="https://juejin.cn/post/7348830480790618147">经验 | 向 AOSP 贡献虚拟机的优化</a>：文章主要讲述作者向 ART 主线提交虚拟机优化改动的经历，包括缘起、确定方案、开发各环节（下载代码、配置环境、开发、测试、测算效果、优化代码格式和性能）、提交与回撤，以及针对国内 App 生态的相关影响和后记。整个过程曲折，涉及诸多技术细节和问题解决。<br> 2. <a href="https://juejin.cn/post/7353106089296789556">问题 | Debuggable app 在 Android 14 上运行卡顿</a>:富途开发者反映 debuggable 版本 app 在 Android 14 上卡顿，经探究发现是解释器执行模式改变所致。谷歌改动原因、性能劣化原因被分析，提出修复方案，经性能验证效果明显。此问题国内沟通不畅，作者愿做“传声筒”，还申请公众号同步更新文章。<br> 3. <a href="https://juejin.cn/post/7366945260792299558">【思考】学习源码的三重境界</a>:文章主要讲述学习源码的三重境界。第一重是理解知识细节“知其然”；第二重是跳出细节，从宏观和历史角度思考，理解设计意图“知其所以然”；第三重是在实践中学习，通过主动写代码来深入理解。作者还举例说明了后两重境界，并在后记中强调看源码对自身能力提升有益。<br> 4. <a href="https://juejin.cn/post/7371687296598687795">【Android ART】回退到解释执行</a>:文章介绍了 Android 虚拟机中的 deoptimize 概念，即从 AOT&#x2F;JIT 回退到解释执行。以数组越界为例说明其作用，能使编译代码更精简优化。还阐述了切换过程的核心工作，如 Shadow Frame 重建、程序流向控制等，非调试原因的 deoptimize 通常只处理最上面一帧。<br> 5. <a href="https://juejin.cn/post/7372126591215222835">Java Hook 的实践之路</a>:文章介绍了基于 ART 的 Java Hook 方案，包括原理选择倾向入口替换及解决其问题，确定了 API 设定和依赖库，阐述了实现过程中 Trampoline、Target Method 和 Hook 的设计，还补充了增强兼容性和稳定性的设计细节，最后指出方案仍有缺陷且项目暂无法开源。<br> 6. <a href="https://juejin.cn/post/7379932646568247346">【Android 15】内存分配器 Scudo 在这些年的优化</a>:文章主要介绍了 Android 11 引入的内存分配器 Scudo 面临的困境及优化。困境在于其安全目标拖累性能和内存表现而被冷落。优化包括申请内存时用 Cache 和 TSD 应对问题，释放内存时采取措施缓解归还空闲页的性能损耗，高效使用内存时采用折中方案减少碎片化。最后指出优化思路源于生活。<br> 7. <a href="https://juejin.cn/post/7394643241852289051">【Android ART】Heap 的内存布局</a>:本文基于 Android 15 介绍了 ART 中 Heap 的内存布局。Heap 由众多不同功能的内存组合而成，通过 Space 管理，文中先阐述内存布局。Heap 内存分为 5 种 Space：Image space 加载特定文件，对象不可移动和回收；Zygote space 由 zygote 启动过程中的重要对象构成，不可移动和回收；Non-moving space 对象不可移动但可回收；Large object space 管理特定对象，不可移动但可回收；Main space 是内存分配和回收的主要场所，对象可移动和回收。<br> 8. <a href="https://juejin.cn/post/7418123700166639651">Android Native | 信号的底层逻辑</a>:本文基于 Android 15，围绕信号的底层逻辑展开，包括数据访问异常产生信号的过程、信号的形式及发送方式、线程检查处理信号的流程，还详细阐述了从异常状态切换到信号处理结束返回用户态的各阶段，涉及内核、CPU 等知识。<br> 9. <a href="https://juejin.cn/post/7423681946096255015">案例 | 奇怪，为什么 Hook 不生效？</a>:大厂一兄弟在通过代理替换 hook 方法时遇到问题，目标是替换 Choreographer 中 mHandler 字段的两个方法，结果 release 包中一个生效一个不生效。经分析，hook 未生效是因机器码获取 ArtMethod 固定，不受代理对象影响，还探讨了相关优化、生效情况及原因，强调要具体情况具体分析。<br> 10. <a href="https://juejin.cn/post/7430758316718587904">实践 | 解决 GDB 无法调试 Android Coredump 的问题</a>:文章主要讲述用 GDB 调试 Android Coredump 时遇到的问题及解决过程。因 LLDB 功能和可视化体验不足，作者尝试用 GDB 但遇到共享库无法加载的问题。经调试和分析，问题根源是一笔改动导致内存中读取的 program header 异常，修复方案是更正返回逻辑，也提到了之前版本的 workaround 方案。<br> 11. <a href="https://juejin.cn/post/7434471758813937700">Android“引用们”的底层原理</a>:这篇文章深入剖析了 Android 中四种引用的底层原理，包括 WeakReference、SoftReference、PhantomReference 和 FinalizerReference。分别阐述了它们的特点、回收机制、处理逻辑等，如 WeakReference 如何欺骗 GC 及 get 方法的处理，SoftReference 的回收时机，PhantomReference 与 ReferenceQueue 的配合，FinalizerReference 与 finalize 方法的关联等，最后作者分享了研究此内容的心得。<br> 12. <a href="https://juejin.cn/post/7438545149121658892">解读 HWASan 日志</a>:这篇文章主要介绍了 HWASan 相关内容，包括从 Android 14 开始其使用变得简单，错误提示类型及原因，如 tag-mismatch、invalid-free 等，还讲解了错误地址、内存块信息、根因判断逻辑、调用栈存储等，最后提到了寄存器记录等，作者虽知受众不多仍精心梳理。<br> 13. <a href="https://juejin.cn/post/7444783861694103561">Android | 拨开“类加载”的迷雾</a>:本文主要围绕 Android 中的类加载展开，指出“双亲委派模式”译名易造成误解，阐述类加载的过程，包括查找是否已加载、开辟空间、填充数据、寻找父类和接口、方法和字段链接、完成初始化等步骤，并提及 PreloadClasses 环节作用衰减，被 Boot Images 取代，后者会提前加载和初始化部分类。<br> 14. <a href="https://juejin.cn/post/7445230397753212963">闲谈｜关于工作选择这件事</a>:文章围绕工作选择展开，通过回乡见闻及自身经历探讨形势变化下的工作现状。提到女司机兼职、钓鱼人增多、少儿培训招生难等，强调副业重要。还阐述对工作路线选择的思考，认为管理路线需等待机会，技术路线深度和广度最终会汇合，应重视个人时间和价值。<br> 15. <a href="https://juejin.cn/post/7449251107892412455">闲谈丨技术思维的桎梏</a>:这篇文章探讨了技术思维的桎梏，指出程序员偏爱确定性，导致性格保守、遵守规则，丧失机会，还存在自负，互相轻视，造成人际关系紧张和视野局限。作者以自身经历为例进行阐述，最后表示写此文是为思考提纯和方便回顾，若能给他人带来感悟则荣幸。</p></li><li><p>赵俊民的文章<br> 1. <a href="https://zhuanlan.zhihu.com/p/16658427634">案例分享：NIO channels 导致一个内存泄漏</a>:这是一篇探讨 NIO channels 内存泄漏问题的技术文章。作者分析了 SystemServer 进程中某个线程持有未释放的内存区域的原因,并找到了导致问题的关键代码位置。针对这个问题,作者与开发人员讨论并提出了具体的修复方案。<br> 2. <a href="https://zhuanlan.zhihu.com/p/16129772496">案例分享：一个奇怪 StackOverflowError 问题</a>:这篇文章讨论了一个奇怪的 StackOverflow 异常问题的分析和解决方案。<br> 3. <a href="https://zhuanlan.zhihu.com/p/644755650?utm_psn=1782331187283308544">技术管理思考：关于软件工程团队问题改进</a> 1. <a href="https://zhuanlan.zhihu.com/p/702112773">技术管理思考：关于软件工程团队问题改进 2</a><br> 4. <a href="https://zhuanlan.zhihu.com/p/15007510302">技术管理思考：关于软件工程团队问题改进 3</a><br> 5. <a href="https://zhuanlan.zhihu.com/p/720078732">一个踩内存问题的折腾</a><br> 6. <a href="https://zhuanlan.zhihu.com/p/717305452">谈软件质量管理</a><br> 7. <a href="https://zhuanlan.zhihu.com/p/714591223">架构设计基本素养</a><br> 8. <a href="https://zhuanlan.zhihu.com/p/706403407">Google 在 LLM 时代下软件工程</a></p></li><li><p>SimplePerf 系列<br> 1. <a href="https://zhuanlan.zhihu.com/p/683274063">Simpleperf 理论与实践指南（前言篇） - 知乎</a><br> 2. <a href="https://zhuanlan.zhihu.com/p/666315598">Simplepref 操作实践篇 - 知乎</a><br> 3. <a href="https://zhuanlan.zhihu.com/p/666227831">火焰图（Flame Graph） - 知乎</a><br> 4. <a href="https://zhuanlan.zhihu.com/p/665588832">Simpleperf 理论篇（七）- 查看结果 - 知乎</a><br> 5. <a href="https://zhuanlan.zhihu.com/p/665586340">Simpleperf 理论篇（六）- 脚本参考 - 知乎</a><br> 6. <a href="https://zhuanlan.zhihu.com/p/658618701">Simpleperf 理论篇（五）- 可执行命令 - 知乎</a><br> 7. <a href="https://zhuanlan.zhihu.com/p/658095044">Simpleperf 理论篇（四）- Android 平台分析 - 知乎</a><br> 8. <a href="https://zhuanlan.zhihu.com/p/657957139">Simpleperf 翻译篇 3-Android 应用分析 - 知乎</a><br> 9. <a href="https://zhuanlan.zhihu.com/p/657954403">Simpleperf 翻译篇 2-幻灯片 - 知乎</a><br> 10. <a href="https://zhuanlan.zhihu.com/p/657255452">Simpleperf 翻译篇 1-概述 - 知乎</a><br> 11. <a href="https://zhuanlan.zhihu.com/p/39891521">如何从 Wall&#x2F;CPU time 理解多线程程序的并行效率 - 知乎</a></p></li><li><p>小二哥的文章<br> 1. <a href="https://cloud.tencent.com/developer/article/2354751">[085]SW VSYNC 模型更新与校准</a><br> 2. <a href="https://cloud.tencent.com/developer/article/2356303">[086]VSYNC 研究-最后的窗户纸</a><br> 3. <a href="https://cloud.tencent.com/developer/article/2360820">[089]图解 Binder 应用篇-补课篇</a><br> 4. <a href="https://cloud.tencent.com/developer/article/2361960">[090]unsignaled-buffer-latch 功能</a><br> 5. <a href="https://cloud.tencent.com/developer/article/2368868">[093]SurfaceSyncer 的致命缺陷</a><br> 6. <a href="https://cloud.tencent.com/developer/article/2410915">[095]Binder 调用的优先级降级</a><br> 7. <a href="https://cloud.tencent.com/developer/article/2412419">[096]图解 HWC 的合成策略</a><br> 8. <a href="https://cloud.tencent.com/developer/article/2416557">[097]SurfaceSyncGroup 的细节</a><br> 9. <a href="https://juejin.cn/post/7368308963127394304">[098]vnd binder 和 binder 的共存问题</a></p></li></ol><h2 id="非技术文章"><a href="#非技术文章" class="headerlink" title="非技术文章"></a>非技术文章</h2><ol><li><a href="https://jdhao.github.io/2023/02/18/work_overseas_english/">程序员海外工作 — 语言篇</a>:本文主要讲述了作者在提高英语听力、口语、阅读和写作方面的一些经验。</li><li><a href="https://chethaase.medium.com/so-long-and-thanks-for-all-the-bytes-02a4ef972f65">So Long, and Thanks for All the Bytes</a>：Chet Haase 撰写的告别文章。他在谷歌 Android 团队工作了近 14 年,是该领域的资深人士。然而,他决定离开科技行业,重新投身于自己热爱的喜剧剧本创作。他打算前往芝加哥攻读喜剧编剧专业的硕士学位,开启人生的新征程。</li><li><a href="https://catcoding.me/p/diff/?s=09">中外程序员差异</a>：这篇文章对比了中外程序员的一些差异，总结了几个方面的差异，包括：关键要点、细节把握程度、文字表达能力、个人职业目标、业余时间安排</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkxNTE3ODU0NA==&mid=2247525247&idx=1&sn=b876b6dd051280265d989e68af4f0d06&chksm=c1613620f616bf360333ed4e457b774f0a00dda54014cd03e0a89894ae57cb5eda8fc2119366&mpshare=1&scene=1&srcid=0508FsSWBwoCiOliGKfP13za&sharer_shareinfo=2d21718496a08cb345d3cfb0de593147&sharer_shareinfo_first=2d21718496a08cb345d3cfb0de593147">程序员如何提升个人技术影响力｜得物技术</a>：本文探讨了程序员如何提升个人技术影响力的方法和实践。从输入知识、输出项目贡献、写技术文章、做行业演讲、出书等方面提供了详细的建议和步骤。文章强调了持续学习和输出的重要性,力求帮助技术同学建立自己的影响力。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzkxNTMyMzE2OA==&mid=2247483869&idx=1&sn=a121f68a24b8d085aea2d9741b0463af&chksm=c161a192f61628846f4ea2459d3c49584cb8ca82290216a939d4315d52f780ce2da3fdf66ced&mpshare=1&scene=1&srcid=0527vrB0DKZxwL49dpfGPD4T&sharer_shareinfo=76d73bff4d84ec4e9fe00dfbb432d483&sharer_shareinfo_first=76d73bff4d84ec4e9fe00dfbb432d483">降本增效的本到底是什么？</a>：最近几年所有公司都在强调降本增效，降本增效的措施从裁员，优化再到 AI, 方法五花八门，但回归到问题本质，我们付出的最高成本真的是在人力，设备，推广这些显性的投入上吗？不是的，我认为恰恰相反，成本最高的是我们的决策，特别是管理者的决策，决策失误带来的成本才是最高的，而且这个问题也最难解决。观察了那么多优秀团队，自己也带团队多年，一个 NB 的团队一定会有一个特征：有着极高的决策效率，决策效率则包括两个方面，决策速度和决策成功率。</li><li><a href="https://zhuanlan.zhihu.com/p/700878710?ref=shyrz.me&utm_id=0">我们如何学习？</a>：该文章探讨了如何融合引导式学习和沉浸式学习的方法,以提高学习效果。作者认为,通过利用人工智能技术,可以在实际项目中为学习者提供个性化的指导和支持,帮助他们全身心投入并将所学知识牢固掌握。同时,作者还讨论了记忆系统和练习方法,以及聊天机器人导师的局限性。</li><li><a href="https://blog.sailfishc.com/100year?s=09">读书笔记-超越百岁</a>：这篇文章主要概括了《超越百岁》一书的核心内容,介绍了长寿的科学原理和实践方法。文章从医学发展的 3.0 时代说起,指出现有医疗模式对抗”四大骑士”(心脏病、癌症、2 型糖尿病、阿兹海默症)的方法存在问题,并提出了新的健康管理理念。文章重点阐述了影响健康和寿命的 5 个关键因素:运动、营养、睡眠、情绪和药物,从中筛选出最关键的锻炼和饮食两个杠杆。同时还总结了百岁老人和长寿基因的研究进展。</li><li><a href="https://blog.devtang.com/2024/09/06/problem-solving-structure/">第一性原理思考：解决问题的通用框架</a>：这篇文章介绍了一个基于第一性原理的通用问题解决框架,主要包括 4 个步骤:信息收集、信息建模、信息判断和策略迭代。文章以减肥和提高 iOS 开发水平作为具体案例,详细阐述了每个步骤的具体操作。最后,文章也指出了该框架的三个局限性。</li><li><a href="https://blog.devtang.com/2024/09/19/thinking-pattens/?s=09">第一性原理思考：解决问题的通用框架(续)</a>：这篇文章介绍了一种解决问题的通用框架,重点讨论了信息判断这一核心步骤。作者列举了几种有用的信息判断方法,如 28 原理、谬误推导、终局思维等,同时也分析了一些常见的信息判断误区,如把相关性当因果、从众心理、现状即是真理和情绪等。</li><li><a href="https://tw93.fun/2024-09-09/future.html">聊聊未来技术趋势</a>:本文提供了一篇关于未来技术趋势的分享内容。作者从 AI、投资、下一代技术等方面,结合市场报告和资料,分享了一些自己的理解和见解。文章涉及了 SpaceX 火箭回收、OneKey 硬件钱包、区块链和智能合约等主题。</li><li><a href="https://lutaonan.com/blog/ai-writing/">AI 和写作</a>:写作 AI 和辅助创作的思考</li><li><a href="http://daiyuwen.freeshell.org/gb/misc/21-days-cn.html?s=09">十年学会编程</a>:该文提出了学习编程的一些建议,提倡用十年时间来深入学习编程,而不是仅仅通过几天或几小时的速成课程学习。作者认为,要成为一名优秀的程序员需要长期的实践和经验积累。</li><li><a href="https://mp.weixin.qq.com/s?__biz=MzAxNDEwNjk5OQ==&mid=2650536638&idx=1&sn=d3fdddf772957edf8b7247626f8db979&chksm=8206c80c9bcae56d48ef49a062a597eb45bc03c86d4eef8476c673bcf7f01c39301b42ab7bd3&mpshare=1&scene=1&srcid=1031AfEE682NFRaKCXRjrvsw&sharer_shareinfo=4e35c0b8d9e30e2009955859f090f226&sharer_shareinfo_first=4e35c0b8d9e30e2009955859f090f226">OpenAI o1 模型的前世今生</a>: OpenAI 发布的 o1 模型在推理能力上取得了巨大进步，在 STEM 领域的表现远超 GPT-4 等前代模型。o1 的关键在于在预训练和训练后两个阶段采用了创新性的方法,如使用大量包含推理过程数据进行预训练、引入强化学习和自举生成思维链等。o1 的出现标志着大语言模型进入”后训练”时代,未来可能引发模型性能大幅提升,同时也带来了一些安全隐患需要关注。</li><li><a href="https://www.pseudoyu.com/zh/2024/11/04/follow_information_acquisition_revolution/?s=09">Follow —— 信息获取的另一种形态</a>:Follow 是一款新型的信息获取和浏览工具，它改变了普通用户获取信息的方式。它通过对 RSS 信息呈现方式的优化、与 RSSHub 的深度集成以及自定义信息源的功能，为用户打造了一个个性化的 “数字花园”，提升了信息获取的效率和体验。</li><li><a href="https://zhuanlan.zhihu.com/p/716621029">【0101】技术的定位：程序员是这个时代的手艺人</a>:这篇文章探讨了程序员的职业定位,分析了技术红利的发展趋势,指出了程序员应该如何管理自己的心态、专注于技术能力的提升来迎接未来的挑战。</li><li><a href="https://www.bilibili.com/video/BV11rzEYNEmr">全网最深度解读：自研 CPU，如何成为高通骁龙的最后一块拼图？</a>:聊聊高通自研 CPU 背后的本质逻辑和深度技术梳理</li><li><a href="https://gamma.app/docs/AI-tm9iylxab38rinb?mode=doc">AI 时代的独立开发之路</a>:本文介绍了作者从文学转向编程,并分享了他开发的两个 AI 应用程序的成功经验。作者从不会编程到自己开发应用,探索了在 AI 时代独立开发的可能性。文中主要讨论了作者开发 AI 美食推荐应用和陌生人闹钟的过程和思考。</li><li><a href="https://mp.weixin.qq.com/s?__biz=Mzg3NTA3MDIxOA==&mid=2247492518&idx=1&sn=647ae40a7b813d08c6a801f5a045050e&chksm=cf676ec63d395512f9e2b6ee39c26923601d5f1a34cb437ce1a57ae459c14762c981a5575f5f&mpshare=1&scene=1&srcid=1225aAV6YemzlIGvxWLZnH7f&sharer_shareinfo=5658d07f6229f732573f54932722cbe6&sharer_shareinfo_first=5658d07f6229f732573f54932722cbe6">程序员焦虑症之「没用过」和「不知道」，码农的「拧螺丝」之道</a>:这篇文章探讨了程序员常见的焦虑症状——“没用过”和”不知道”新技术的焦虑。作者认为这源自于我们只是在被动”拧螺丝”而非主动理解技术本质。他建议,我们应该尊重自己的能力,不要被框架和工具的更新所束缚,而要去理解它们的原理和工作机制,从而真正提升技术和解决能力。</li><li><a href="https://ramsayleung.github.io/zh/post/2024/%E7%BC%96%E7%A8%8B%E5%8D%81%E5%B9%B4%E7%9A%84%E6%84%9F%E6%82%9F/">编程十年的感悟</a>:这篇文章是作者分享了自己 10 年来从事编程工作的感悟。主要包括:持续学习新技术、重视英语能力提高、培养独立思考能力、关注产品搭建而非过于追求代码优化、选择合适的工具技术而非追求最新流行、重视与优秀同事的交流学习、保重身体健康等方面。作者认为编程的核心竞争力在于解决问题的能力,而非局限于某一种具体技术。</li><li><a href="https://zhuanlan.zhihu.com/p/16545147271">我在性能团队的这两年</a>:作者从 2 年前加入飞书文档性能团队开始介绍了性能指标的定义、细化、优化过程以及防劣化机制的各个环节。包括线下通过自动化脚本检测劣化、线上通过大盘数据监控、针对性能劣化进行追踪和复现等方面的经验。最后还分享了团队在滚动防劣化、块加载优化、内存优化等具体场景下的实践。</li><li><a href="https://jiongks.name/blog/get-rid-of-the-addictive-internet">有序退网</a>:该文章作者分享了他渐进退网的决定和过程。作者认为互联网和社交媒体已经变得过于”上瘾”,并对个人生活和工作产生了负面影响。通过阅读相关心理学书籍以及亲身体验”闭关”的积极效果,作者决定开始有意识地控制自己的网络使用时间,将精力集中于工作、健身、学习、开源项目等其他更有价值的方面。</li></ol><h2 id="个人博客内容更新"><a href="#个人博客内容更新" class="headerlink" title="个人博客内容更新"></a>个人博客内容更新</h2><ol><li><a href="https://www.androidperformance.com/2024/03/27/Android-Perfetto-101/">Android Perfetto 系列目录</a></li><li><a href="https://www.androidperformance.com/2024/05/21/Android-Perfetto-01-What-is-perfetto/">Android Perfetto 系列 1：Perfetto 工具简介</a></li><li><a href="https://www.androidperformance.com/2024/05/21/Android-Perfetto-02-how-to-get-perfetto/">Android Perfetto 系列 2：Perfetto Trace 抓取</a></li><li><a href="https://www.androidperformance.com/2024/05/21/Android-Perfetto-03-how-to-analysis-perfetto/">Android Perfetto 系列 3：熟悉 Perfetto View</a></li><li><a href="https://www.androidperformance.com/2024/01/01/2023-review/">2023 年的方方面面</a></li><li><a href="https://juejin.cn/post/7372913965883637775">Android App ANR 系列 2 ：ANR 分析套路和关键 Log 介绍</a></li><li><a href="https://juejin.cn/post/7372813290650730511">Android App ANR 系列 3 ：ANR 案例分享</a></li></ol><h2 id="Android-开发者们的动态"><a href="#Android-开发者们的动态" class="headerlink" title="Android 开发者们的动态"></a>Android 开发者们的动态</h2><p>我使用 Follow 创建了一个 <a href="https://app.follow.is/share/lists/77971539754326016">Android 开发者们动态的 List</a>，目前免费，欢迎使用 Follow App 作为知识输入源的各位订阅。</p><p><img src="/images/Weekly#38/img_00_61cbc391.jpg" alt="image"></p><p>关于 Follow App 的介绍可以看这篇文章：<a href="https://www.pseudoyu.com/zh/2024/11/04/follow_information_acquisition_revolution/?s=09">Follow —— 信息获取的另一种形态</a>:Follow 是一款新型的信息获取和浏览工具，它改变了普通用户获取信息的方式。它通过对 RSS 信息呈现方式的优化、与 RSSHub 的深度集成以及自定义信息源的功能，为用户打造了一个个性化的 “数字花园”，提升了信息获取的效率和体验。</p><p>目前 Follow 已经取代了我的大部分内容获取软件，新闻、动态、独立博客更新、视频、音频、包括社交网络都可以订阅。</p><h2 id="打鸡血"><a href="#打鸡血" class="headerlink" title="打鸡血"></a>打鸡血</h2><p><img src="/images/Weekly#38/img_01_8c762bb0.jpg" alt="image">掌握学习艺术：记忆与知识保持的终极指南！</p><p>这幅图展示了如何有效记忆和保留知识的策略，助你成为学习高手：</p><ol><li>费曼技巧</li></ol><ul><li><p>选择主题：深入理解一个主题。</p></li><li><p>简单解释：用简单的语言或对孩子解释。</p></li><li><p>识别知识空白：找出并填补理解中的漏洞。</p></li><li><p>精炼解释：提高解释的清晰度和准确性。</p></li><li><p>自我测试：通过测试进一步简化解释。</p></li><li><p>莱特纳系统：</p><ul><li>通过逐步减少复习频率，将难题转化为易题。</li><li>每周三次复习难题、两次中等题、一次易题。</li></ul></li><li><p>主动回忆：</p><ul><li>主动提取信息，加强神经连接，而非被动吸收。</li></ul></li><li><p>六大记忆保持技巧：</p><ul><li>多样化资源：使用视频、书籍和便利贴等多种学习材料。</li><li>建立联系：用类比将新信息与熟悉概念关联，便于理解和记忆。</li><li>深入理解：关注背后的原因，加深理解，使信息更有意义。</li><li>关注健康：优先保证睡眠、营养和锻炼，维持大脑健康。</li><li>间隔学习：分散学习时间，避免认知过载。</li><li>信息分块：将复杂信息分解成小块，逐步学习以防止压倒性负担。</li></ul></li></ul><h2 id="投稿指南"><a href="#投稿指南" class="headerlink" title="投稿指南"></a>投稿指南</h2><p>欢迎投稿分享您的：</p><ul><li>技术博客</li><li>实践经验</li><li>工具推荐</li></ul><p>投稿方式：</p><ul><li>公众号后台回复”投稿”</li><li>本周刊下面留言</li><li>发邮件：<a href="mailto:&#x64;&#x72;&#x65;&#x61;&#x6d;&#116;&#x61;&#108;&#x65;&#x2e;&#x6a;&#x67;&#x40;&#x67;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#x6d;">dreamtale.jg@gmail.com</a></li><li>微信联系：Gracker_Gao</li></ul><h2 id="关于作者"><a href="#关于作者" class="headerlink" title="关于作者"></a>关于作者</h2><p>下面是个人的介绍和相关的链接，期望与同行的各位多多交流，三人行，则必有我师!</p><ul><li><a href="https://juejin.cn/user/1816846860560749">掘金 - Gracker</a></li><li><a href="https://www.zhihu.com/people/gracker">知乎 - Gracker</a></li><li><a href="https://www.androidperformance.com/">个人博客 - Android Performance</a></li><li><a href="https://www.androidperformance.com/about/">个人介绍 - 欢迎加微信群组多多交流</a></li><li><a href="https://androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/">Android 性能优化必知必会</a></li><li>微信公众号 <strong>Android Performance</strong><br>   <img src="/common-resource/gongzhonghao.png"></li><li><a href="https://www.androidperformance.com/2023/12/30/the-performance/">Android 性能优化知识星球</a><br>  <img src="/common-resource/zhishixingqiu.JPG"></li></ul><h2 id="版权声明"><a href="#版权声明" class="headerlink" title="版权声明"></a>版权声明</h2><ul><li>本周刊遵循 CC BY-NC-SA 4.0 协议</li><li>转载请注明出处：Android Weekly</li><li>欢迎订阅、分享，让更多开发者受益</li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h1 id=&quot;Android-Weekly-38&quot;&gt;&lt;a href=&quot;#Android-Weekly-38&quot; class=&quot;headerlink&quot; title=&quot;Android Weekly #38&quot;&gt;&lt;/a&gt;Android Weekly #38&lt;/h1&gt;&lt;h2 id=&quot;And</summary>
      
    
    
    
    
  </entry>
  
</feed>
