ECS Framework API / Pool
Class: Pool<T>
Defined in: Utils/Pool/Pool.ts:7
高性能通用对象池 支持任意类型的对象池化,包含详细的统计信息
Type Parameters
T
T
extends IPoolable
Constructors
Constructor
new Pool<
T
>(createFn
,maxSize
,estimatedObjectSize
):Pool
<T
>
Defined in: Utils/Pool/Pool.ts:22
构造函数
Parameters
createFn
() => T
创建对象的函数
maxSize
number
= 100
池的最大大小,默认100
estimatedObjectSize
number
= 1024
估算的单个对象大小(字节),默认1024
Returns
Pool
<T
>
Methods
getPool()
static
getPool<T
>(type
,maxSize
,estimatedObjectSize
):Pool
<T
>
Defined in: Utils/Pool/Pool.ts:44
获取指定类型的对象池
Type Parameters
T
T
extends IPoolable
Parameters
type
(...args
) => T
对象类型
maxSize
number
= 100
池的最大大小
estimatedObjectSize
number
= 1024
估算的单个对象大小
Returns
Pool
<T
>
对象池实例
obtain()
obtain():
T
Defined in: Utils/Pool/Pool.ts:63
从池中获取对象
Returns
T
对象实例
release()
release(
obj
):void
Defined in: Utils/Pool/Pool.ts:84
释放对象回池中
Parameters
obj
T
要释放的对象
Returns
void
getStats()
getStats():
Readonly
<PoolStats
>
Defined in: Utils/Pool/Pool.ts:104
获取池统计信息
Returns
Readonly
<PoolStats
>
统计信息对象
clear()
clear():
void
Defined in: Utils/Pool/Pool.ts:111
清空池
Returns
void
compact()
compact(
targetSize?
):void
Defined in: Utils/Pool/Pool.ts:126
压缩池(移除多余的对象)
Parameters
targetSize?
number
目标大小,默认为当前大小的一半
Returns
void
prewarm()
prewarm(
count
):void
Defined in: Utils/Pool/Pool.ts:144
预填充池
Parameters
count
number
预填充的对象数量
Returns
void
setMaxSize()
setMaxSize(
maxSize
):void
Defined in: Utils/Pool/Pool.ts:162
设置最大池大小
Parameters
maxSize
number
新的最大大小
Returns
void
getAvailableCount()
getAvailableCount():
number
Defined in: Utils/Pool/Pool.ts:176
获取池中可用对象数量
Returns
number
可用对象数量
isEmpty()
isEmpty():
boolean
Defined in: Utils/Pool/Pool.ts:184
检查池是否为空
Returns
boolean
如果池为空返回true
isFull()
isFull():
boolean
Defined in: Utils/Pool/Pool.ts:192
检查池是否已满
Returns
boolean
如果池已满返回true
getAllPoolTypes()
static
getAllPoolTypes():Function
[]
Defined in: Utils/Pool/Pool.ts:200
获取所有已注册的池类型
Returns
Function
[]
所有池类型的数组
getAllPoolStats()
static
getAllPoolStats():Record
<string
,PoolStats
>
Defined in: Utils/Pool/Pool.ts:208
获取所有池的统计信息
Returns
Record
<string
, PoolStats
>
包含所有池统计信息的对象
compactAllPools()
static
compactAllPools():void
Defined in: Utils/Pool/Pool.ts:222
压缩所有池
Returns
void
clearAllPools()
static
clearAllPools():void
Defined in: Utils/Pool/Pool.ts:231
清空所有池
Returns
void
getGlobalStatsString()
static
getGlobalStatsString():string
Defined in: Utils/Pool/Pool.ts:242
获取全局池统计信息的格式化字符串
Returns
string
格式化的统计信息字符串