Pools

Added in 1.1.0

class Pools


Helper class for creating pools of objects. An example use looks like this:

class MyPooledClass {

fun recycle() {
// Clear state if needed, then return this instance to the Pool
pool.release(this)
}

companion object {
private val pool = Pools.SynchronizedPool<MyPooledClass>(10)

fun obtain() : MyPooledClass {
// Get an instance from the Pool or
// construct a new one if none are available
return pool.acquire() ?: MyPooledClass()
}
}
}

Summary

Nested types

interface Pools.Pool<T : Any>

Interface for managing a pool of objects.

open class Pools.SimplePool<T : Any> : Pools.Pool

Simple (non-synchronized) pool of objects.

Synchronized pool of objects.