在最近unity3d的項目中,為了圖方便使用了很多的靜態變量,通常是單例類 (public static 類名 xxx )的使用,但是很少有在腳本使用結束后去將靜態變量的值置為空,如果該腳本的成員變量中申請過內存空間 比如new byte[]或者存放了一些圖片 Resources.load()等,那么即使該腳本對應的gameobject被刪除了,這些成員變量中申請過的內存也不會被釋放,另為Resource.load的圖的內存還需要在調用Resources.UnloadUnusedAssets()后,才能釋放。如果成員變量也為靜態類型,僅僅將static的類名置空是無用的,還需要將對應的靜態變量也置為空。
Unity3d中內存通常出現的ManagedStaticReferences就更靜態變量的不規范使用有關系,以后得多注意了。