Options
All
  • Public
  • Public/Protected
  • All
Menu

Class RecyclePool<T>

循环对象池。这种池子被设计为每次使用都完整复用。 它没有回收和提取的函数,通过获取 data 可以获取池子中所有元素,全部都应该被当做新对象来使用。 开发者不应该在相互交叉的不同逻辑中同时使用同一个循环对象池。 池子尺寸可以在池子满时自动扩充,也可以手动调整。

see

Pool

Type parameters

  • T

Hierarchy

  • RecyclePool

Index

Constructors

Properties

Accessors

Methods

Constructors

constructor

  • newRecyclePool(fn: () => T, size: number): RecyclePool
  • en

    Constructor with the allocator of elements and initial pool size, all elements will be pre-allocated.

    zh

    使用元素的构造器和初始大小的构造函数,所有元素都会被预创建。

    Parameters

    • fn: () => T

      The allocator of elements in pool, it's invoked directly without new

        • (): T
        • Returns T

    • size: number

      Initial pool size

    Returns RecyclePool

Properties

Private _count

_count: number = 0

Private _data

_data: T[]

Private fn

fn: () => T

Type declaration

    • (): T
    • Returns T

Accessors

data

  • get data(): T[]

length

  • get length(): number

Methods

add

  • add(): T

removeAt

  • removeAt(idx: number): void
  • 移除对象池中的一个元素,同时会减小池子尺寸。

    Parameters

    • idx: number

      The index of the element to be removed

    Returns void

reset

  • reset(): void

resize

  • resize(size: number): void

Generated using TypeDoc