我使用几个数组作为序列化的一部分.这些数组的长度需要随着游戏的进行而改变.在我的Save
方法中,我当前使用以下代码行创建一个新数组:
int intArray = new int[specifiedLength];
个
这被认为是不好的做法吗?或者,旧数组可以轻松清理吗?
编辑:我的"保存"方法每1-2分钟调用一次.
我使用几个数组作为序列化的一部分.这些数组的长度需要随着游戏的进行而改变.在我的Save
方法中,我当前使用以下代码行创建一个新数组:
int intArray = new int[specifiedLength];
个
这被认为是不好的做法吗?或者,旧数组可以轻松清理吗?
编辑:我的"保存"方法每1-2分钟调用一次.
Garbage collector(GC
)将为您收集垃圾(未使用的内存,包括数组),因此,如果您使用小数组,则无需执行任何操作.然而,如果您frequently(绝对不是一次立即)分配许多large个数组,则内存分配可以是time consumning.如果您希望获得更高的性能,您可能需要try pooling个这些大型数组,例如:
// Huge array allocation from pool
int[] array = ArrayPool<int>.Shared.Rent(1_000_000);
try {
// Do something with the array
}
finally {
// Return array to pool
ArrayPool<int>.Shared.Return(array);
}