ReSharper 2026.1 Help

代码检查:可用的非分配方法替代

射线投射碰撞检测 方法在 PhysicsPhysics2D 对象中,如果返回数组,每次调用都会分配数组,频繁调用时可能影响性能。 Unity 5.3 引入了这些方法的非分配版本,可以传入预分配的数组以收集结果。

此检查会为这些方法的分配版本添加警告,并提供快速修复以重写为非分配版本,并将文本光标定位在可引用现有数组的位置。

Physics 类中的相关方法有:

对于 Physics2D

请注意,数组的大小决定了这些非分配方法能收集的结果数量上限。 这些方法不会调整数组大小,也不会提示如果有更多结果。 需要自行选择合适的数组大小,可以通过确定结果数量上限或设置一个有用的限制。 如果需要处理全部可能结果,则应只使用分配版本,但要注意重复分配带来的性能损耗。 可通过 用代码注释抑制此警告更改高亮显示的严重性 实现。

详细信息请参阅此 Unity 性能最佳实践文档

2026年 5月 8日