Unity GameFramework框架笔记-基础组件之ObjectPool

 

自动释放对象逻辑:

需要产生的对象数量大于容量,自动扩容

自动释放:每个一段时间自动释放大于容量的个数

过期判断:释放时,判断最后使用时间和过期时间(当前时间减一段时间,比如1分钟内未被使用),小于则为过期

可释放的对象:未使用、未锁定、未自定义标记可释放

 

每隔一段时间释放超过容量且可释放的对象,先释放过期的对象,再释放使用时间较早且优先级小的对象

假设容量10,目前数量15,过期3

则自动释放数量为5

先筛选出可释放对象,从可释放对象筛选出过期对象,释放3个,还需要释放2个,从未过期中排序,优先释放使用时间较早且优先级较小的,不一定释放5个对象,但最多释放5个对象