cocos2d-x节点(b2BlockAllocator.h)API
来源:互联网 发布:控制反转和依赖注入php 编辑:程序博客网 时间:2024/05/21 09:21
本文来自http://blog.csdn.net/runaying ,引用必须注明出处!
cocos2d-x节点(b2BlockAllocator.h)API
温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记
// b2BlockAllocator进行内存管理,使得分配和使内存变得更加高效、快速。内存管理之SOA的实现
///cocos2d-x-3.0alpha0/external/Box2D/Common// b2BlockAllocator进行内存管理,使得分配和使内存变得更加高效、快速。内存管理之SOA的实现#ifndef B2_BLOCK_ALLOCATOR_H#define B2_BLOCK_ALLOCATOR_H#include <Box2D/Common/b2Settings.h>const int32 b2_chunkSize = 16 * 1024; //一次分配内存大小const int32 b2_maxBlockSize = 640; //块子节点大小的最大值const int32 b2_blockSizes = 14; //可以申请块子节点大小的类型总数const int32 b2_chunkArrayIncrement = 128; //块空间增量struct b2Block; //块子节点结构体[链表实现]声明struct b2Chunk; //块结构体声明/// //这是一个小型的对象分配器,用于一次分配多个小对象/// See: http://www.codeproject.com/useritems/Small_Block_Allocator.aspclass b2BlockAllocator{public: b2BlockAllocator(); ~b2BlockAllocator(); //分配内存,当size>b2_maxBlockSize则直接用b2Alloc分配 void* Allocate(int32 size); //释放内存,当size>b2_maxBlockSize则直接用b2Free释放 void Free(void* p, int32 size); //清空内存 void Clear(); private: b2Chunk* m_chunks; //当前块的头指针 int32 m_chunkCount; //当前已使用的块空间节点总数 int32 m_chunkSpace; //当前已申请的块空间节点总数 b2Block* m_freeLists[b2_blockSizes]; //未被使用的内存块链表类型数组,保存了其不同类型链表的头指针 static int32 s_blockSizes[b2_blockSizes]; //申请的块大小类型数组 static uint8 s_blockSizeLookup[b2_maxBlockSize + 1]; //根据要申请块的大小获取其类型索引的数组 static bool s_blockSizeLookupInitialized; //是否已初始化s_blockSizeLookup数组,标志变量};#endif
- cocos2d-x节点(b2BlockAllocator.h)API
- cocos2d-x节点(cocos2d.h)API
- cocos2d-X 节点(CCNode.h)API
- cocos2d-X 节点(CCLayer.h)API
- cocos2d-X 节点(CCMenu.h)API
- cocos2d-X 节点(CCMenuItem.h)API
- cocos2d-X 节点(CCSprite.h)API
- cocos2d-X 节点(CCTexture2D.h)API
- cocos2d-X 节点(SpriteBatchNode.h.)API
- cocos2d-X 节点(CCSpriteFrame.h..)API
- cocos2d-X 节点(CCAnimationCache.h)API
- cocos2d-X 节点(CCCamera.h.)API
- cocos2d-X 节点(CCAction.h)API
- cocos2d-X 节点(CCActionManager.h)API
- cocos2d-X 节点(CCIMEDelegate.h)API
- cocos2d-X 节点(CCLabelAtlas.h)API
- cocos2d-X 节点(CCLabelBMFont.h)API
- cocos2d-X 节点(CCLabelTTF.h)API
- 黑马程序员_面向对象第6天
- Hibernate模糊查询后台打印乱码[java]
- Android应用的彻底关闭
- 在Android中使用加载器(Loader)来实现获取本机中的所有图片,并进行查看图片的效果
- cocos2d-x节点(b2Draw.h)API
- cocos2d-x节点(b2BlockAllocator.h)API
- cocos2d-x节点(b2GrowableStack.h)API
- 数据挖掘之关联规则
- join 和 where的执行顺序
- urllib2.urlopen超时问题
- SQL 简介
- cocos2d-x节点(b2Math.h)API
- cocos2d-x节点(b2Settings.h)API
- boost库之asio使用出错:error LNK2001,boost::system::generic_category