开发者

Is my scene going to stay in memory forever

I have a bunch of classes that retain an instance of the scene and I'm starting to think this is going to cause memory management issues for me.

So I have Scene1, Scene2 and a HelperClass that has a property that retains the scene.

When I switch from Scene1 to Scene2 I want everything to be disposed.

I started thinking though am I going to have to manually release the helper class before I call the director to change the scene?

The helper class is retained by a layer that is a child of the scene.

The layer also has a property reference to the scene as a ccnode.

Am I doing this wrong? What is the best way to arrange these things so the memory gets free correctly.

The helper classes do things like cr开发者_开发知识库eating bullets and adding them to the scene.

I have a similar setup with CCSprites that only exist at the scene level. I keep references to them in the helper classes.


once you add something to a container, a scene or spritesheet or whatever, release it, the container keeps a ref to it, then when you dispose of the container, it will be released. Scene will not be released if you call push scene, only if you run a new one or call the replaceScene method of CCDirector.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜