对象池原理简要描述

对象池原理简要描述

@author ixenos

 

 

对象池的基本理念是创建时屏蔽获取细节,对象在当前生命周期终结时入池

 

1)创建时:

var objA = Pool.getItemByCreateFun("SYMBOL_A", createFun); //直接创建或从池中获取

其中,Pool内部维护了一个字典,getItem时即是在字典中查找对象,若对象不存在,就在createFun进行创建;

注意,此时新创建的对象并不会直接入池!!而是直接返还给调用者

 

2)销毁时:

Pool.recover("SYMBOL_A", objA);//入池

objA.removeSelf;//从父节点移除

objA = null;//业务代码(若宿主对象也要重复利用的话)

当对象在当前环境生命周期结束时,对象池对其进行回收;

下面的处理是保证宿主环境的干净;

 

posted @ 2019-01-09 19:24  ixenos  阅读(458)  评论(1编辑  收藏  举报