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