<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[陆业聪]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/mba16c35</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mba16c35]]></copyright><item><title><![CDATA[读者点单·03｜Compose 与传统 View 混用的 12 个真实坑]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/162223647</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/162223647</guid><author>mba16c35</author><pubDate>Wed, 24 Jun 2026 10:39:50 +0800</pubDate><description><![CDATA[读者点单·端午投票系列 · 第3/10篇基于端午《聊聊学习节奏》评论区读者票选生成的系列文章第1篇：Android 性能治理的「全景图」：从机型分级到指标体系第2篇：Android 启动优化实战：Trace 抓取→冷启动全流程拆解第3篇：Compose 与传统 View 混用的 12 个真实坑（本篇）你的 App 一半 Compose 一半 XML？恭喜，你已经进入了「混合地狱」——滚动打架、主题撕裂、内存暴涨、生命周期对不齐……这篇我把实际踩过的 12 个坑逐一摊开，每个坑附上复现条件和解法。]]></description><category></category></item><item><title><![CDATA[读者点单·02｜Android 启动优化实战：Trace 抓取→Application 编排→冷启动全流程拆解]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/162190452</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/162190452</guid><author>mba16c35</author><pubDate>Wed, 24 Jun 2026 10:39:26 +0800</pubDate><description><![CDATA[这篇文章是Android性能优化的实战指南，聚焦冷启动耗时问题。主要内容包括： 区分三种启动类型（冷/温/热）和两个关键指标（TTID首帧绘制/TTFD完全可交互） 使用Perfetto工具进行性能分析： 提供完整的trace采集命令和配置文件 通过SQL查询定位主线程耗时Top10任务 三类初始化任务拆解策略： Must-Sync（必须同步） Can-Delay（可延迟） Lazy-Load（懒加载） 复杂场景下的DAG任务编排方案： 对比Jetpack App Startup与自研方案 提供拓扑排序的核]]></description><category></category></item><item><title><![CDATA[混合检索RAG实战：多路召回+Reranker重排模型]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/161819996</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/161819996</guid><author>mba16c35</author><pubDate>Fri, 12 Jun 2026 10:35:43 +0800</pubDate><description><![CDATA[别拿"性能优化"当借口，用户要的是准确结果，不是快但错的答案。原因是"测试机"和"设备"的语义相似度不够高，导致召回失败。，HR初筛通过的候选人（候选文档）都来到终面，Reranker逐一面试（计算Query-Document相关性分数），最后决定谁被录用（返回Top-N给LLM）。，向量检索、关键词检索、知识图谱检索三路并行，各自按自己的标准筛选候选人（文档），各自返回Top-K结果。三路召回的结果需要合并，但各路的分数尺度不同（向量相似度是0-1，BM25是任意正数，图谱是匹配数量），必须归一化。]]></description><category></category></item><item><title><![CDATA[LangGraph实战：用状态图构建多步Agent工作流]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/161764475</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/161764475</guid><author>mba16c35</author><pubDate>Fri, 12 Jun 2026 10:34:23 +0800</pubDate><description><![CDATA[Chain的三宗罪与StateGraph救赎：真实跑挂7次的故事，讲清楚LangGraph状态图、条件路由、Checkpoint断点续传、HITL人工审批，附完整工作流代码与5大Agent框架选型决策表]]></description><category></category></item><item><title><![CDATA[Agent全栈第1篇：从凌晨3点的RAG事故，搞懂Chain/Tool/Agent三件套]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/161697540</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/161697540</guid><author>mba16c35</author><pubDate>Fri, 12 Jun 2026 10:34:06 +0800</pubDate><description><![CDATA[系列第1篇：用一次线上事故讲透LangChain三件套与30行LCEL RAG]]></description><category></category></item><item><title><![CDATA[开发人员的汇报指南：故障、复盘、问题、阶段任务、人员情况，五种场景全覆盖]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/161917063</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/161917063</guid><author>mba16c35</author><pubDate>Fri, 12 Jun 2026 10:33:31 +0800</pubDate><description><![CDATA[汇报能力是一种技术人的杠杆。一个代码能力 70 分、汇报能力 90 分的同事，项目、成长、资源都会向他集中；反过来代码 95 分、汇报 50 分的，往往被看成“个人贡献者”，到不了能拍板的位置。这不是不公平，是协作效率的自然选择。三个建议结尾：一、拿本文的模板套三次，就是你的。二、下次出故障时，首报强制自己说齐六要素。三、周报试试双轨汇报（业务+技术资产），三个月后看效果。]]></description><category></category></item><item><title><![CDATA[WebView性能优化与稳定性治理：预热、复用池与崩溃防护]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/161612951</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/161612951</guid><author>mba16c35</author><pubDate>Tue, 02 Jun 2026 23:33:14 +0800</pubDate><description><![CDATA[前面三个阶段不管你打开什么页面都要花掉。也就是说，理论上我们能把整页首屏的 50%+ 时间，提前到用户根本没点击之前。]]></description><category></category></item><item><title><![CDATA[Android MVI 架构实战：单向数据流真的适合你的项目吗？]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/161631101</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/161631101</guid><author>mba16c35</author><pubDate>Tue, 02 Jun 2026 23:29:30 +0800</pubDate><description><![CDATA[MVI 不是银弹，但是一个在有复杂状态管理需求时值得认真考虑的架构选择。它的核心价值在于：• 状态不可变 → 消除并发 State 修改隐患• 单向数据流 → UI = f(State) 可预测• Intent 显式化 → 所有用户操作都有迹可循下一篇将继续《Android架构设计》系列，敬请期待。—— 写于 2026.06.02，深圳。]]></description><category></category></item><item><title><![CDATA[Android 正在被 AI 重新组织：I/O ‘26 后工程师的能力栈重排]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/161491381</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/161491381</guid><author>mba16c35</author><pubDate>Sun, 31 May 2026 10:09:10 +0800</pubDate><description><![CDATA[先抛一个反常识的观察：Google I/O '26 已经过去快两周了，社交媒体上铺天盖地都在讨论 Android 17、Gemini Nano、AppFunctions，但我跟几个一线 Android 团队聊下来，大家最焦虑的其实不是"我要不要立刻升级 minSdk 到 35"，而是另一个更隐蔽的问题——。这个问题不矫情。今年 5 月这一波密集发布，本质上不是"Android 又加了几个 API"，而是——设备端、IDE、跨平台、Agent 调用四条线索同时在动，每一条都在重写某一类工程师的位置。]]></description><category></category></item><item><title><![CDATA[WebView代理方案实现：拦截请求、注入资源与离线包架构]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/161507224</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/161507224</guid><author>mba16c35</author><pubDate>Sun, 31 May 2026 10:08:51 +0800</pubDate><description><![CDATA[在某些网络环境下，运营商 DNS 可能被污染，或者你有内网域名解析需求。?.build()]]></description><category></category></item><item><title><![CDATA[Android 应用加固与防逆向：我在甲方安全审计里踩过的那些坑]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/161546497</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/161546497</guid><author>mba16c35</author><pubDate>Sun, 31 May 2026 00:00:30 +0800</pubDate><description><![CDATA[Android 安全加固实战指南 摘要： 本文总结了Android应用安全加固的核心要点和实践经验。当前逆向工具门槛极低，未加固APK可被jadx等工具在10分钟内反编译获取源码级别代码。安全加固需分层实施：(1)使用R8混淆最小化keep规则并处理字符串；(2)DEX加固采用函数抽取或VMP技术防止静态分析；(3)通过检测/proc/maps、端口扫描和ptrace占坑等方式防御Frida动态调试；(4)关键密钥应避免硬编码，推荐服务端下发或NDK存储。商业级加固方案需结合控制流平坦化等混淆技术，但核心安]]></description><category></category></item><item><title><![CDATA[WebView与原生JS交互：JSBridge设计模式与安全实践]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/161534450</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/161534450</guid><author>mba16c35</author><pubDate>Sat, 30 May 2026 23:59:30 +0800</pubDate><description><![CDATA[本文是Android WebView深度探索系列的第4篇，聚焦JS与Native交互的核心技术与实践。文章首先通过一个线上Bug案例，揭示了JSBridge看似简单实则暗藏玄机的本质。 文章系统分析了三种JS-Native通信方式： addJavascriptInterface：直接注入Java对象，需注意4.2以下安全漏洞和线程安全问题 URL Scheme拦截：通过iframe触发URL跳转，存在并发丢失和参数限制 evaluateJavascript：Native调用JS的主线程限制 第二部分提出了生]]></description><category></category></item><item><title><![CDATA[WebView白屏检测与解决方案：从原因分析到工程化监控]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/161450608</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/161450608</guid><author>mba16c35</author><pubDate>Thu, 28 May 2026 09:55:07 +0800</pubDate><description><![CDATA[本文深入探讨了Android WebView白屏问题的检测与解决方案。文章首先分析了白屏的五大成因：JS执行错误（占比30%以上）、资源加载失败、SSL证书异常、内存不足和Render进程崩溃。随后对比了三种主流检测方案：像素采样法（误判率高）、DOM节点探测（准确率高但依赖JS引擎）和WebView回调组合判断（性能最优）。作者建议采用三方案叠加策略，实现95%以上的覆盖率。最后强调了线上监控体系的重要性，包括合理设置检测时机（onPageFinished后延迟2-3秒）和完整的上报字段设计。通过这套方法]]></description><category></category></item><item><title><![CDATA[WebView内核原理：从Chromium到System WebView的架构全景]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/161367420</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/161367420</guid><author>mba16c35</author><pubDate>Thu, 28 May 2026 09:54:36 +0800</pubDate><description><![CDATA[本文是Android WebView深度探索系列的第一篇，重点剖析WebView内核原理。文章从WebView内核演变历程讲起，详细介绍了从WebKit到Chromium的架构变迁，以及System WebView与Chrome的关系。深入分析了WebView的多进程架构模型，包括App进程、Renderer进程和GPU进程的分工协作机制。通过源码解读揭示了WebView初始化的复杂过程，并列举了不同Android版本间的关键兼容性问题。最后从开发者视角总结了WebView的架构边界特性，为后续性能优化和问]]></description><category></category></item><item><title><![CDATA[列表滑动卡到飞起？我把Coil的默认值全调了一遍]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/161397905</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/161397905</guid><author>mba16c35</author><pubDate>Tue, 26 May 2026 11:36:07 +0800</pubDate><description><![CDATA[Coil 3.5实战：5个配置项让列表P95帧时间从31ms降到17ms]]></description><category></category></item><item><title><![CDATA[RAG+Agent+微调组合拳：搭建一个完整的AI驱动Android开发助手]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/161358902</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/161358902</guid><author>mba16c35</author><pubDate>Tue, 26 May 2026 11:35:06 +0800</pubDate><description><![CDATA[本文是Android工程师AI开发实战系列的完结篇，探讨如何将RAG、Agent和微调三大技术组合应用，打造一个实用的AI Android开发助手。文章通过MVVM架构类比，提出三层融合方案：RAG作为数据层提供知识检索，Agent作为逻辑层执行工具调用，微调模型作为表现层统一输出风格。作者分享了实战经验，包括构建三层知识库索引、设计Agent工具集、从团队历史数据中提取微调样本等关键技术细节，并强调端云协同的重要性，建议根据场景灵活选择本地或云端执行。]]></description><category></category></item><item><title><![CDATA[从 Vibe Coding 到 Agentic Engineering：AI编程效率的真正跃迁不是速度，而是范式]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/160678505</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/160678505</guid><author>mba16c35</author><pubDate>Mon, 25 May 2026 00:15:31 +0800</pubDate><description><![CDATA[Karpathy定义Agentic Engineering范式，Codex CLI /goal命令上线自主循环，AI编程的效率瓶颈正从工具速度转向编程范式本身的变革]]></description><category></category></item><item><title><![CDATA[微调：让通用大模型变成你的「专属定制ROM」——从AOSP到LoRA的迁移学习]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/161323249</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/161323249</guid><author>mba16c35</author><pubDate>Sun, 24 May 2026 23:34:28 +0800</pubDate><description><![CDATA[本文探讨了Android工程师如何通过微调技术定制AI模型，类比AOSP与定制ROM的关系。作者以Code Review工具为例，指出Prompt工程存在上下文窗口有限、token成本高、行为修改浅等硬伤，提出微调才是"编译期改代码"的解决方案。文章对比了全量微调、LoRA和QLoRA三种方式，重点推荐LoRA这种"热修复"式方法，能在消费级显卡上实现高效微调。最后详细介绍了数据集构建标准和实战步骤，包括4-bit量化模型加载、LoRA参数配置和训练流程，帮助开发者用少量参数实现深度定制。]]></description><category></category></item><item><title><![CDATA[Agent智能体：让AI自己调API干活——从Android Service到AI Agent的思维跃迁]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/161323181</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/161323181</guid><author>mba16c35</author><pubDate>Sun, 24 May 2026 23:33:49 +0800</pubDate><description><![CDATA[本文从Android工程师视角解析AI Agent技术，通过类比移动开发概念帮助理解Agent核心机制： 将Agent类比为Android Service+WorkManager，具备自主执行任务的能力 解析ReAct范式与Handler消息循环的相似性，展示Agent的迭代式决策过程 对比Function Calling与Android Intent系统，揭示工具调用的声明式设计 提供Kotlin实现示例，包含工具接口定义和Agent核心循环逻辑 强调maxSteps参数类似ANR超时保护的关键设计 文章]]></description><category></category></item><item><title><![CDATA[禁止碰编辑器：当AI接管100%的代码，工程师在做什么？]]></title><link>https://blog.youkuaiyun.com/mba16c35/article/details/160461038</link><guid>https://blog.youkuaiyun.com/mba16c35/article/details/160461038</guid><author>mba16c35</author><pubDate>Sat, 23 May 2026 21:26:47 +0800</pubDate><description><![CDATA[OpenAI团队9个月不碰编辑器，100%代码由AI完成。拆解Spec驱动开发、护栏工程和AI-First工作流的完整方法论]]></description><category></category></item></channel></rss>