什么是对象池(模式)
- 对象池(模式)是一种创建型设计模式
- 它持有一个初始化好的对象的集合,将对象提供给调用者。
对象池的目的
- 减少频繁创建和销毁对象带来的成本,实现对象的缓存和复用
什么条件下使用对象池
- 创建对象的成本比较大,并且创建比较频繁。比如线程的创建代价比较大,于是就有了常用的线程池。
简单demo
module core {
export class pool {
private static _object = {}
public static getPoolImg(texture: string) {
if (pool._object[texture] == null) {
pool._object[texture] = []
}
let img;
if (pool._object[texture].length > 0) {
img = pool._object[texture].pop()
} else {
img = new egret.Bitmap();
img.texture = RES.getRes(texture)
}
return img
}
public static recoveryImg(img, texture) {
if (pool._object[texture] == null) {
pool._object[texture] = []
}
let tem = pool._object[texture]
if (tem.indexOf(img) == -1) {
pool._object[texture].push(img)
}
}
public static get inansece(){
return pool._object
}
}
}
一个简陋的对象池demo就做好