GC
容易产生 GC 的代码
代码每帧都在运行,同时分配临时堆内存。容易 GC,需要尽可能避免。
装箱
值类型隐式转换为引用类型时,将会隐式分配临时内存保存值类型
常出现在
结构体隐式转换为接口,接口是引用类型,触发装箱
结构体在不重写 GetHashCode 和 Equals 等默认方法的情况下调用这些默认方法,将会自动装箱为 System.Object 类型,并调用 System.Object 相应方法
方法指针隐式转换为 Action 或 Func ?
new
每帧的显示分配内存也会装箱
解决方法
核心思路是对象(空间)复用
使用 List.Clear 代替 new List()
使用对象池
最后更新于