RNSVG.dll 是 react-native-svg 在 Windows 平台编译产物中的原生动态链接库,其命名来源于 React Native SVG 模块的缩写。它承担的是 JavaScript 层 SVG 声明式描述与原生图形渲染管线之间的桥接职责,是跨平台矢量图形能力在本土系统上落地的关键二进制组件。
基础图元渲染:解析 Path、Rect、Circle、Ellipse、Line、Polygon、Polyline 等节点数据,转换为原生绘图指令并栅格化输出。
高级视觉效果:支持 LinearGradient、RadialGradient、Pattern、ClipPath、Mask、Filter 等元素的解析与图层合成。
文本与变换:处理 Text、TSpan 文本排版及沿路径排列,并完成 transform、viewBox、坐标系缩放等数学换算。
原生桥接接口:向 JS 侧暴露 Native Module 与 ViewManager,承载属性 diff、布局测量、Z 轴排序及资源释放。
渲染性能优化:复用绘图对象、缓存已解析路径,在高频重绘场景下降低 CPU 与内存占用。
| 影响层面 | 具体表现 |
|---|---|
| 启动阶段 | 系统弹出“找不到 RNSVG.dll”或“无法定位程序输入点”错误,应用直接闪退,无法进入主界面。 |
| 模块加载 | 原生模块注册失败,JS 侧 require 或 NativeModules 调用抛出异常,触发红屏报错。 |
| 界面渲染 | 所有 SVG 组件呈现空白或残留占位,图标、矢量插画、图表类界面大面积失效。 |
| 级联异常 | 依赖该组件的父级视图树挂载中断,可能引发整页白屏及事件响应失灵。 |
| 构建与升级 | 本地编译链接阶段即报错,自动链接未生效,发布包缺失依赖而无法运行。 |
排查方向:重新安装 react-native-svg 依赖、执行 Windows 自动链接命令、清理并重建原生工程目录,同时确认 Visual C++ 运行库齐全、DLL 位数与应用架构(x64/arm64)保持一致。