cocos2d-x游戏开发(七)对象释放时机
2013-01-20 12:40
274 查看
欢迎转载:http://blog.csdn.net/fylz1125/article/details/8521272
这篇写写自动对象的释放时机。
一个对象调用autorelease()函数后就被加入自动释放池,那么它什么时候被释放呢?
我从前面说过的游戏主循环开始跟进:
继续跟进startMainLoop函数
看doCaller回调,
这里就释放对象了,有兴趣的同学可以自己跟进去看看到底是怎么释放的。
这篇写写自动对象的释放时机。
一个对象调用autorelease()函数后就被加入自动释放池,那么它什么时候被释放呢?
我从前面说过的游戏主循环开始跟进:
int CCApplication::run() { if (applicationDidFinishLaunching()) { [[CCDirectorCaller sharedDirectorCaller] startMainLoop];//主循环开始 } return 0; }
继续跟进startMainLoop函数
-(void) startMainLoop { // CCDirector::setAnimationInterval() is called, we should invalidate it first [displayLink invalidate]; displayLink = nil; // displayLink是CADisplayLink对象,target是自己,回调是coCaller displayLink = [NSClassFromString(@"CADisplayLink") displayLinkWithTarget:self selector:@selector(doCaller:)];//看这个doCaller回调 [displayLink setFrameInterval: self.interval];//设置帧率 [displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];//添加到循环并启动 }
看doCaller回调,
void CCDisplayLinkDirector::mainLoop(void) { if (m_bPurgeDirecotorInNextLoop) { m_bPurgeDirecotorInNextLoop = false; purgeDirector(); } else if (! m_bInvalid) { drawScene();// draw the scene // release the objects CCPoolManager::sharedPoolManager()->pop(); } }好,一个循环完了。最后看到CCPoolManager::sharedPoolManager()->pop();就是用来释放对象的。
这里就释放对象了,有兴趣的同学可以自己跟进去看看到底是怎么释放的。
相关文章推荐
- cocos2d-x游戏开发(七)对象释放时机
- cocos2d-x游戏开发(七)对象释放时机
- cocos2d-x游戏开发(六)自动释放池
- 【Cocos2d-X游戏实战开发】捕鱼达人之单例对象的设计(二)
- cocos2d-x游戏开发 跑酷(八) 对象管理 碰撞检测
- cocos2d-x游戏开发(六)自动释放池
- cocos2d-x游戏开发 跑酷(八) 对象管理 碰撞检测
- cocos2d-x游戏开发 跑酷(八) 对象管理 碰撞检測
- cocos2d-x游戏开发(五)神奇的自动释放
- 【Cocos2d-X游戏实战开发】捕鱼达人之单例对象的设计(二)
- cocos2d-x游戏开发(五)神奇的自动释放
- cocos2d-x游戏开发(六)自动释放池
- 【iOS-cocos2d-X 游戏开发之十五】Cocos2dx中响应Android的Back(返回)与Menu(小房子)事件&&Cocos2dx自动释放粒子内存函数!
- cocos2d-x游戏开发(五)神奇的自动释放
- cocos2d-x游戏开发必备工具:TexturePacker+PhysicsEditor
- 【iOS-Cocos2d游戏开发之九】讲解CCSpriteBatchNode与TP工具的".pvr.ccz",".plist"共用的终极精灵优化及注意事项!
- 【iOS-Cocos2d游戏开发】关于CCSpriteSheet报错问题
- cocos2d-x游戏开发系列教程-中国象棋03-主界面
- Cocos2D-x游戏开发之四:CCScale9Sprite and CCControlButton
- cocos2d-x 游戏开发之有限状态机(FSM) (一)