Skip to content

ECS Framework API v2.1.50


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

格式化的统计信息字符串

Released under the MIT License.