[]关于对象池Laya.Pool的用法
内存优化的教程中内存优化,关于对象池的用法有些疑问,
var SPRITE_SIGN = 'spriteSign';
var sprites = [];
function initialize()
{
for (var i = 0; i < 1000; i++)
{
var sp = Pool.getItemByClass(SPRITE_SIGN, Sprite)
sprites.push(sp);
Laya.stage.addChild(sp);
}
}
initialize();
上边是创建了1000个sprite实例吗,点击屏幕后把sprite都回收到对象池,如果下次想取用具体某一个sprite,如何取呢?因为上边创建的时候用的是同一个sign,但取的时候是通过sign来取。还有存储到对象池是不是还是占用内存只是避免重复创建和销毁来提升效率?
Laya.stage.on("click", this, function()
{
var sp;
for(var i = 0, len = sprites.length; i < len; i++)
{
sp = sprites.pop();
Pool.recover(SPRITE_SIGN, sp);
Laya.stage.removeChild(sp);
}
});
没有找到相关结果
已邀请:
要回复问题请先登录
1 个回复
Laya_XS
赞同来自: