用途:优化 Obsidian 插件在大型仓库(10,000+ 文件)中的性能,解决卡顿、内存占用、启动缓慢等问题。
主要能力:用 DevTools Performance 面板与 performance.now() 计时定位 onload、命令执行等瓶颈;通过懒初始化把索引构建推迟到首次使用;按批处理文件并用 await sleep(0) 让出 UI 线程;用有界 LRU 缓存配合 mtime 失效;对 vault.on('modify') 做全局与按文件防抖;用 DocumentFragment、requestAnimationFrame 和虚拟滚动优化 DOM;用 WeakMap、registerEvent、registerInterval 防止内存泄漏。
使用方式:需已有一个存在性能问题的插件、开发者控制台(Ctrl+Shift+I / Cmd+Option+I)以及对异步 JavaScript 与事件循环的理解。按步骤先做性能剖析,再依次应用懒加载、批处理、缓存、防抖与渲染优化,最后用清单核对。
限制:资料未提供安装命令、收费与价格信息;性能基准(如 onload < 100ms、内存增长 < 10MB)为参考阈值,实际效果取决于插件与仓库规模。cachedRead 可能返回过期数据,对实时性要求高时应改用 vault.read()。