我微信基础库版本 3.13.0
微信开发者工具版本是 RC 2.01.2510241
snapshot组件截图中如果超过一定长度以后就会直接从头开始重复循环拼接截图,没有按照实际DOM进行渲染截图。代码段中已经复现这个问题
<snapshot id="target">
<view wx:for="{{imgs}}" wx:for-item="item" wx:for-index="index">
<image src="https://vod.hnedutv.com/218/2025/10/28/0699b52da18df9da042ebc715cf0be52080fc27c1761611505733.png?imageMogr2/auto-orient/thumbnail/5000000@/size-limit/$(fsize)!/ignore-error/1&pid=53123100" mode="aspectFit" />
<view style="width: 100%;height: 150rpx;background-color: brown;">测试 测试 {{index}}</view>
</view>
</snapshot>
我这边设备看到的情况是index到13以后就开始循环从0拼接图片了,预期应该是继续显示 14、 15、16……
推测问题原因是snapshot API 会基于这个渲染结果生成 Canvas 形式的图片;当页面 高度非常大 超过底层渲染 buffer、Canvas 的最大纹理大小时,会触发 分段渲染或内存复用机制;底层为了优化和循环利用渲染 buffer,会把头部内容在内部 buffer 末尾复用。大概限制通常为宽度 8192px 或高度 16384px。具体高度我还没有验证。
复现代码段:

我们排查一下