Unity GameFramework框架筆記-基礎組件之ObjectPool

 

自動釋放對象邏輯:

需要產生的對象數量大於容量,自動擴容

自動釋放:每個一段時間自動釋放大於容量的個數

過期判斷:釋放時,判斷最後使用時間和過期時間(當前時間減一段時間,比如1分鐘內未被使用),小於則爲過期

可釋放的對象:未使用、未鎖定、未自定義標記可釋放

 

每隔一段時間釋放超過容量且可釋放的對象,先釋放過期的對象,再釋放使用時間較早且優先級小的對象

假設容量10,目前數量15,過期3

則自動釋放數量爲5

先篩選出可釋放對象,從可釋放對象篩選出過期對象,釋放3個,還需要釋放2個,從未過期中排序,優先釋放使用時間較早且優先級較小的,不一定釋放5個對象,但最多釋放5個對象