问几个cocos2dx内存管理的问题

1、我一个自定义的一个ccobject里一个变量在构造函数中retain了 但是没有在析构函数中release,会造成内存泄露对吧?即使进程销毁后这段占用的内存也依然被占用是吗?
2、我用CCSprite::create方法用png文件创建了一个ccsprite(或者 用png文件创建CCSpriteBatchNode、CCMenuItemImage之类的)这个创建后的对象消除后,为了创建它所占用的CCTextureCache会一直留着,不手动消除会一直留着占用内存资源是吧?
3、cocos2dx有3个管理缓存的单例:CCTextureCache、CCSpriteFrameCache、CCAnimationCache,这三个缓存是不共享资源的对吧?比如我 先加载一个大的png文件到CCTextureCache再根据对应的plist文件读取帧到CCSpriteFrameCache,最后再创建动画并加入到CCAnimationCache里(只用动画,原png文件不用),加载后最好手动清除这个动画对应的CCTextureCache和CCSpriteFrameCache里的资源,否则就是浪费内存,对吗?
4、使用CCDirector::sharedDirector()->end()方法退出游戏时需要手动释放CCTextureCache、CCSpriteFrameCache、CCAnimationCache或者其他资源吗?

进程销毁后这段占用的内存不会被占用,进程所占资源都要释放的;第二问答案肯定;缓存不需手动释放的,但是不用的可以释放节省内存

第二个:
如果因为内存峰值过高
设备会发出内存警告
代码就会帮你把目前没有在用的图的缓存清掉
(当然这个是有个接口的,在AppController.mm里,applicationDidReceiveMemoryWarning:方法,可以自己设置,默认的是removeUnusedTextures)
所以你不处理也没有特别大的问题
但是处理了更好

哦懂了~那一定要小心内存泄露了……

大感谢!解决了一个困扰我很久的问题