cocos2dx精灵自动释放问题

通过create方法创建的精灵,当被系统自动释放时,其引用地址没有被置为NULL,这个算是个bug吧。

是吗?贴上代码来。

楼主今天有和同事讨论了下这个话题。觉得比较合理的结论是:对象只管自己的状态,外部的要靠程序员自己去维护。在这里的体现也就是内存自动释放由引擎来维护,而程序员自己创建的对象置nullptr,则由程序员自己去维护。

因为存的是对象的地址而不是地址的引用,所以不会把你对象地址给设为空的

我一直解决cocos2d-x的这种内存管理机制用处并不大,为什么不引入智能指针呢。

最近学习在学习 Cocos2d-x ,由于对 iOS 比较熟悉,MRC 和 ARC 都用过,这种模式类似于 MRC。简单的原则只有一个,“谁创建,谁管理”。所以其引用地址没有自动设置为 null 也是正确的。如果用户需要继续使用,则自己进行 retain,获取 object 的使用权。