场景a切换到场景b,释放资源

场景A
创建一个CCNode,然后创建2个精灵加入到CCNode中

local container = display.newNode():addTo(self):pos(display.cx,display.cy)

    local bg = display.newSprite( SCENE_BACK ):addTo( container )
    self.bg = bg

    bg:setTouchEnabled(true)
    bg:setTouchSwallowEnabled(true)
    bg:addNodeEventListener(cc.NODE_TOUCH_EVENT, function(event) self:onTouch(event) end )


    self.flagLabel = display.newSprite("image/scene/starttxt.png"):addTo(container)
    self.flagLabel:setPosition(0, -280)
```


切换到B场景,在B场景的onEnter函数中通过函数
CCSpriteFrameCache:sharedSpriteFrameCache():removeUnusedSpriteFrames()
    CCTextureCache:sharedTextureCache():removeUnusedTextures()
```


来释放A场景中加载的资源,即2张图片精灵

但是并不会释放掉2个精灵的图片

但是如果A场景中的两个精灵不是加到CCNode中,直接加到self中,那么在B场景的onEneter函数中是可以释放掉资源的

请教大家到底在切换场景时,希望通过
CCSpriteFrameCache:sharedSpriteFrameCache():removeUnusedSpriteFrames()
    CCTextureCache:sharedTextureCache():removeUnusedTextures()
函数来完全释放上一个场景的资源,请问这两个函数在哪里调用才行呢?
在A场景的onExit(),onCleanup()都试过了,不管精灵加入到CCNode,还是self,都无法释放掉资源

求救求救!

首先:removeUnusedTextures 方法的意义 是纹理的引用计数为1的时候才会删除掉,
你可以尝试下在B场景中onEnter方法中延迟调用释放资源的方法。

嗯,选择了延时调用.