iOS 开发之定时器
来源:互联网 发布:鉴定音色的软件 编辑:程序博客网 时间:2024/04/28 16:28
第一种:
用CADisplayLink可以实现不停重绘。
例子:
CADisplayLink* gameTimer;
gameTimer = [CADisplayLink displayLinkWithTarget:self
selector:@selector(updateDisplay:)];
[gameTimer addToRunLoop:[NSRunLoop currentRunLoop]
forMode:NSDefaultRunLoopMode];
第二种:
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();就是用来释放对象的。
第三种:
IOS--NSTimer和CADisplayLink的用法
NSTimer初始化器接受调用方法逻辑之间的间隔作为它的其中一个参数,预设一秒执行30次。CADisplayLink默认每秒运行60次,通过它的frameInterval属性改变每秒运行帧数,如设置为2,意味CADisplayLink每隔一帧运行一次,有效的逻辑每秒运行30次。
0 0
- iOS 开发之定时器
- iOS 之定时器
- iOS开发,定时器的使用
- iOS开发,定时器的使用
- ios开发定时器的使用
- ios-提升之【7】-定时器
- ios开发——日常之iOS程序进入后台后仍可运行定时器
- 服务器开发之定时器设计
- swift开发之定时器(NSTimer)
- tpyboard开发板之定时器
- QT开发之QTimer定时器
- IOS开发笔记-定时器的使用
- IOS开发——NSTimer定时器
- #iOS开发笔记#定时器的实现
- iOS开发—几种定时器
- IOS开发 NSTimer 定时器用法总结
- iOS基于GCD开发的定时器
- IOS,H5混合开发,setTimeout定时器失效
- 啊哈C——学习2.4练习
- 用 Linux blkid 命令查找块设备详情
- java中的泛型
- jkjkjkjk
- 封装的工具类(网络获取Json,图片,下载图片,下载Mp3,下载视频)
- iOS 开发之定时器
- Binary Tree Inorder Traversal
- 内部类与外部类
- [IOS]NSLayoutConstraint-代码实现自动布局的函数用法说明
- 十年学会编程
- Android performance今天的发现
- Maximal Rectangle
- Core Animation
- linux+nginx+tomcat负载均衡,实现session同步