展会信息港展会大全

Cocos2d-x的内存管理总结
来源:互联网   发布日期:2015-09-28 10:40:32   浏览:1199次  

导读: Cocos2d-x引擎的核心是用C++编写的,那对于所有使用该引擎的游戏开发人员来说,内存管理是一道绕不过去的坎。 关于Cocos2d-x内存管理,网上已经有了许多参考资料,有些资料写的颇为详实...

Cocos2d-x引擎的核心是用C++编写的,那对于所有使用该引擎的游戏开发人员来说,内存管理是一道绕不过去的坎。

关于Cocos2d-x内存管理,网上已经有了许多参考资料,有些资料写的颇为详实,因为在内存管理这块我不想多费笔墨,只是更多的将思路描述清楚。

一、对象内存引用计数

Cocos2d-x内存管理的基本原理就是对象内存引用计数,Cocos2d-x将内存引用计数的实现放在了顶层父类CCObject中,这里将涉及引用计数的CCObject的成员和方法摘录出来:

代码如下:

class CC_DLL CCObject : public CCCopying{public:… …protected:// count of referencesunsigned intm_uReference;// count of autoreleaseunsigned intm_uAutoReleaseCount;public:void release(void);void retain(void);CCObject* autorelease(void);… ….}

CCObject::CCObject(void): m_nLuaID(0), m_uReference(1) // when the object is created, the reference count of it is 1, m_uAutoReleaseCount(0){… …}

void CCObject::release(void){CCAssert(m_uReference > 0, "reference count should greater than 0");

赞助本站

人工智能实验室
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港