Packagelaya.utils
Classpublic class Pool
InheritancePool Inheritance Object

Pool 是对象池类,用于对象的存贮、重复使用。

合理使用对象池,可以有效减少对象创建的开销,避免频繁的垃圾回收,从而优化游戏流畅度。



Public Methods
 MethodDefined By
  
clearBySign(sign:String):void
[static] 清除对象池的对象。
Pool
  
getItem(sign:String):*
[static] 根据传入的对象类型标识字符,获取对象池中已存储的此类型的一个对象,如果对象池中无此类型的对象,则返回 null 。
Pool
  
getItemByClass(sign:String, cls:Class):*
[static] 根据传入的对象类型标识字符,获取对象池中此类型标识的一个对象实例。 当对象池中无此类型标识的对象时,则根据传入的类型,创建一个新的对象返回。
Pool
  
getItemByCreateFun(sign:String, createFun:Function):*
[static] 根据传入的对象类型标识字符,获取对象池中此类型标识的一个对象实例。 当对象池中无此类型标识的对象时,则使用传入的创建此类型对象的函数,新建一个对象返回。
Pool
  
getPoolBySign(sign:String):Array
[static] 根据对象类型标识字符,获取对象池。
Pool
  
recover(sign:String, item:Object):void
[static] 将对象放到对应类型标识的对象池中。
Pool
Method Detail
clearBySign()method
public static function clearBySign(sign:String):void

清除对象池的对象。

Parameters

sign:String — 对象类型标识字符。

getItem()method 
public static function getItem(sign:String):*

根据传入的对象类型标识字符,获取对象池中已存储的此类型的一个对象,如果对象池中无此类型的对象,则返回 null 。

Parameters

sign:String — 对象类型标识字符。

Returns
* — 对象池中此类型的一个对象,如果对象池中无此类型的对象,则返回 null 。
getItemByClass()method 
public static function getItemByClass(sign:String, cls:Class):*

根据传入的对象类型标识字符,获取对象池中此类型标识的一个对象实例。

当对象池中无此类型标识的对象时,则根据传入的类型,创建一个新的对象返回。

Parameters

sign:String — 对象类型标识字符。
 
cls:Class — 用于创建该类型对象的类。

Returns
* — 此类型标识的一个对象。
getItemByCreateFun()method 
public static function getItemByCreateFun(sign:String, createFun:Function):*

根据传入的对象类型标识字符,获取对象池中此类型标识的一个对象实例。

当对象池中无此类型标识的对象时,则使用传入的创建此类型对象的函数,新建一个对象返回。

Parameters

sign:String — 对象类型标识字符。
 
createFun:Function — 用于创建该类型对象的方法。

Returns
* — 此类型标识的一个对象。
getPoolBySign()method 
public static function getPoolBySign(sign:String):Array

根据对象类型标识字符,获取对象池。

Parameters

sign:String — 对象类型标识字符。

Returns
Array — 对象池。
recover()method 
public static function recover(sign:String, item:Object):void

将对象放到对应类型标识的对象池中。

Parameters

sign:String — 对象类型标识字符。
 
item:Object — 对象。