第二章 cocos2dx架构一瞥
2.1 cocos2dx 引擎系统总览

2.2 内存管理机制
来源于Object-C
2.2.1 C++显示内存管理
通过 new 和 delete 关键字来管理
带来问题:
- 野指针
- 重复释放
- 内存泄漏
2.2.2 C++11 智能指针
unique_ptr shared_ptr weak_ptr
- unique_ptr 指针不能与其他智能指针共享所指对象内存
- shared_ptr 多个shared_ptr 可以共享同一堆分配对象的内存,它在实现上使用了引用计数
- weak_ptr 可以用来指向shared_ptr 指针分配的对象内存,但不拥有该内存,通常可以用来验证shared_ptr 指针的有效用
2.2.3 为什么不使用智能指针
看起来 shared_ptr是个不错的选择
缺点:
- 智能指针有较大的性能损失
- 虽然有效,但是仍需程序员显示的声明智能指针,约束多

本文详细探讨了cocos2dx引擎的内存管理机制,从C++的显示内存管理、C++11智能指针的使用,到cocos2dx特有的垃圾回收和引用计数方式。同时,介绍了UI树结构、游戏对象的坐标系统,以及应用程序架构,包括游戏生命周期、窗口尺寸处理、场景管理和游戏循环。此外,还提及了Scheduler在游戏逻辑更新中的作用。
最低0.47元/天 解锁文章
432

被折叠的 条评论
为什么被折叠?



