這個是官方解釋
Pool
是對象池類,用於對象的存貯、重複使用。
合理使用對象池,可以有效減少對象創建的開銷,避免頻繁的垃圾回收,從而優化遊戲流暢度。
對於遊戲中使用頻繁的對象,例如BOSS對象,玩家模型等,在實例化的過程中,會增加開銷,這時候可以採用對象池來減少內存分配與垃圾回收頻率,因爲回收進對象池的對象不是立即被銷燬,而是儲存一段時間之後,達到回收內存上限時,纔會被回收。
使用對象池回收對象時需要注意的是,在將對象回收進對象池之前先從父節點remove掉(可以調用removeSelf()),另外,不能將已經被銷燬(destoryed)的sprite放回對象池
對象池的優點是減少了實例化對象時的開銷,且能讓對象反覆使用,減少了新內存分配與垃圾回收器運行的機會。