01
JNI 路线序列化:从逐对象创建到定长缓冲区
一次 Perfetto 分析记录:为什么大量小对象和数组扩容会成为 JNI 路径上的主要耗时,以及如何用整体容量预估降低序列化成本。
岳文渊 · 应用软件工程师
长期参与车载导航 SDK 的交付、性能优化与问题定位,也在持续构建帮助自己学习和工作的开发工具。这里记录项目决策、学习笔记和仍在验证的技术判断。
一次 Perfetto 分析记录:为什么大量小对象和数组扩容会成为 JNI 路径上的主要耗时,以及如何用整体容量预估降低序列化成本。
以原地删除重复元素为例,记录快慢指针各自表达的状态、循环不变量,以及为什么只记代码模板很容易在变体题中失效。
梳理 VS Code 为什么能发现一个本地扩展、命令如何注册,以及 TreeView、Webview 和 SecretStorage 分别处于什么边界。
记录普通全文检索与大模型问答的分工,以及为什么站内助手必须返回来源、限制检索范围并允许降级。
从实时性、线程竞争和导航状态切换出发,回顾 EHP 七类消息的 Observer 分发机制以及它与 UI 消息链路的边界。