对于Flash和Flex,对象池对于表现是非常重要的,也是避免内存溢出的有效方式。虽然很多开发者可能已经找到实现池的好方法,但我仍然没能在google中找到符合我需求的方法。所以我写了这个简单解决方案。
代码资源在这里:https://github.com/neatfilm/neat ... film/framework/view
基本上,一个池能存储任何种类的对象(也许是sprite,UIComponent),只要它实现 IReusable 接口。
- 函数cloneNewObject():IReusable;
- 函数reset():void;
基本上,池将以一个作为种子的单一对象被设置(即第一个对象),任何新对象将被 cloneNewObject 创建,并存储于一个单一数组。你可以提取对象,当被请求时数组中的第一个没有使用的那个对象将被提取。
除了对象池,你可以按照需设置一个或多个数组(array) 或/和字典(dictionary),来保存这些对象。
代码资源在这里:https://github.com/neatfilm/neat ... film/framework/view
基本上,一个池能存储任何种类的对象(也许是sprite,UIComponent),只要它实现 IReusable 接口。
- 函数cloneNewObject():IReusable;
- 函数reset():void;
基本上,池将以一个作为种子的单一对象被设置(即第一个对象),任何新对象将被 cloneNewObject 创建,并存储于一个单一数组。你可以提取对象,当被请求时数组中的第一个没有使用的那个对象将被提取。
除了对象池,你可以按照需设置一个或多个数组(array) 或/和字典(dictionary),来保存这些对象。