场景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,都无法释放掉资源
求救求救!