diff --git a/spine-csharp/src/ExposedList.cs b/spine-csharp/src/ExposedList.cs index c2c7de4d9..ba3bfbdce 100644 --- a/spine-csharp/src/ExposedList.cs +++ b/spine-csharp/src/ExposedList.cs @@ -90,7 +90,18 @@ namespace Spine { } public ExposedList Resize (int newSize) { - if (newSize > Items.Length) Array.Resize(ref Items, newSize); + int itemsLength = Items.Length; + var oldItems = Items; + if (newSize > itemsLength) { + Array.Resize(ref Items, newSize); +// var newItems = new T[newSize]; +// Array.Copy(oldItems, newItems, Count); +// Items = newItems; + } else if (newSize > itemsLength) { + // Allow nulling of T reference type to allow GC. + for (int i = Count; i < itemsLength; i++) + oldItems[i] = default(T); + } Count = newSize; return this; }