[]关于对象池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();

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);
    }
});

上边是创建了1000个sprite实例吗,点击屏幕后把sprite都回收到对象池,如果下次想取用具体某一个sprite,如何取呢?因为上边创建的时候用的是同一个sign,但取的时候是通过sign来取。还有存储到对象池是不是还是占用内存只是避免重复创建和销毁来提升效率?
已邀请:

Laya_XS

赞同来自:

你上面回答的很对,对象池存在的作用就是避免在游戏里重复的去创建和销毁对象,最终来提升效率!

要回复问题请先

商务合作
商务合作