首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CADisplayLink的displayLinkWithTarget:selector:和UIScreen的displayLinkWithTarget:selector:有什么区别?

CADisplayLink的displayLinkWithTarget:selector:和UIScreen的displayLinkWithTarget:selector:是iOS开发中用于创建定时器的两个方法。它们的区别如下:

  1. 功能不同:
    • CADisplayLink的displayLinkWithTarget:selector:方法用于创建一个与屏幕刷新频率同步的定时器,常用于需要精确控制动画帧率的场景。
    • UIScreen的displayLinkWithTarget:selector:方法用于创建一个与屏幕刷新频率无关的定时器,常用于一些不需要精确控制动画帧率的场景。
  2. 使用对象不同:
    • CADisplayLink的displayLinkWithTarget:selector:方法是CADisplayLink类的方法,需要传入一个目标对象和一个选择器,当定时器触发时,目标对象会调用选择器指定的方法。
    • UIScreen的displayLinkWithTarget:selector:方法是UIScreen类的方法,需要传入一个目标对象和一个选择器,当定时器触发时,目标对象会调用选择器指定的方法。
  3. 定时器触发频率不同:
    • CADisplayLink的displayLinkWithTarget:selector:方法创建的定时器会根据屏幕的刷新频率触发,通常为每秒60次,即60帧。
    • UIScreen的displayLinkWithTarget:selector:方法创建的定时器触发频率不受屏幕刷新频率限制,通常为每秒60次,即60帧。
  4. 推荐的腾讯云相关产品和产品介绍链接地址:
    • 对于CADisplayLink的displayLinkWithTarget:selector:方法,腾讯云没有直接相关的产品或服务。
    • 对于UIScreen的displayLinkWithTarget:selector:方法,腾讯云也没有直接相关的产品或服务。

总结:CADisplayLink的displayLinkWithTarget:selector:和UIScreen的displayLinkWithTarget:selector:是用于创建定时器的方法,它们的区别在于功能、使用对象和定时器触发频率。腾讯云没有直接相关的产品或服务与这两个方法相关。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS 性能监测之FPS

CADisplayLink 是一个用于显示定时器, 它可以让用户程序显示与屏幕硬件刷新保持同步,iOS系统中正常屏幕刷新率为60Hz(60次每秒)。...CADisplayLink可以以屏幕刷新频率调用指定selector,也就是说每次屏幕刷新时候就调用selector,那么只要在selector方法里面统计每秒这个方法执行次数,通过次数/时间就可以得出当前屏幕刷新率了...CADisplayLink 简介:https://www.jianshu.com/p/434ec6911148 初始化CADisplayLink,监测FPS值代码如下: _displayLink...= [CADisplayLink displayLinkWithTarget:self selector:@selector(displayLinkTick:)]; [_displayLink...= nil) { self.FPSBlock(fps); } //1秒之后,初始化时间次数,重新开始监测 _beginTime = link.timestamp;

2.5K30
  • iOS 定时任务

    前言 相对于Android来说 iOS定时任务用起来还是比较好用 具体来说三种 GCD方式 NSTimer CADisplayLink 一般都用前两种 做视图绘制 动画 视频等才用第三种 使用方式...) [timer invalidate]; CADisplayLink 创建方式 self.displayLink = [CADisplayLink displayLinkWithTarget:self...需要注意是,该属性在targetselector被首次调用以后才会被赋值。selector调用间隔时间计算方式是:调用间隔时间 = duration × frameInterval。...当把CADisplayLink对象add到runloop中后,selector就能被周期性调用,类似于重复NSTimer被启动了; 执行invalidate操作时,CADisplayLink对象就会从...runloop中移除,selector调用也随即停止,类似于NSTimerinvalidate方法。

    1.7K20

    iOS动画系列之二:带时分秒指针时钟动画(下)1. 创建CALayer2. 设置时分秒针3. 创建CADisplayLink4. 成稿

    这个图钉位置就是锚点,就是我们在代码中设置(0.5,1). 3. 创建CADisplayLink 我们一开始想到办法就是用定时器,每一秒钟刷新一次秒针。但是使用了定时器之后,一个问题。...发现秒针比电脑上稍微慢一点。是因为刷新频率电脑不一样。 解决方法就是使用CADisplayLink来刷新时钟。...// 创建CADisplayLink CADisplayLink *link = [CADisplayLink displayLinkWithTarget:self selector:@selector...:NSDefaultRunLoopMode]; 3.1 CADisplayLinkNSTimer区别 NSTimer占用系统资源较多 NSTimer使用完后,一定要销毁,把它设置成nil。...核心动画时候,最好使用CADisplayLink 3.2 获取时间及时区 在clockRunning这个方法中,我们要设置时区,获取日历、当前时间。 在时间打交道时候,请千万别忘记了时区。

    94910

    创建简单动画(一) --- 常规hud

    一个闭合圆弧(白色部分) 看起来不是简单位移动画了, 我们用UIBezierPath加CADisplayLink一帧一帧来画试试看 灰色背景, 这个比较简单, 我们直接创建一个UIView子类,..., 一样用UIBezierPath, 先设置圆心 画一个圆弧然后闭合路径, _count是设置一个变量, Controller中计时器控制以达到动画效果 //先画内圆 //设置线条...M_PI / 300 * _count clockwise:YES]; //线路闭合 [path closePath]; [path fill]; 要注意调整外圆内闭合弧线宽...ViewController () @property (nonatomic, strong) MyView *myView; @property (nonatomic, strong) CADisplayLink...displayLinkWithTarget:self selector:@selector(countOn)]; _displayLink.paused = YES; [_displayLink

    61220

    监测APP卡顿

    一、UI更新原理卡顿原因 在 VSync 信号到来后,系统图形服务会通过 CADisplayLink 等机制通知 App,App 主线程开始在 CPU 中计算显示内容,比如视图创建、布局计算、图片解码...所以,卡顿造成原因分为CPU卡顿GPU卡顿,CPU卡顿可以用CADisplayLink来检测,UI更新卡顿可以用Runloopmode来检测 监测卡顿:开一个子线程,利用displaylink或者...四、DisplayLink检测卡顿 一但 CADisplayLink 以特定模式注册到runloop之后,每当屏幕需要刷新时候,runloop就会调用CADisplayLink绑定target...上selector,这时target可以读到 CADisplayLink 每次调用时间戳,用来准备下一帧显示需要数据。..._displayLink) { _displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(updateTime

    1.2K10

    老司机带你走进Core Animation 之CADisplayLink

    CADisplayLink 老司机带你走进Core Animation 之几种动画简单应用 老司机带你走进Core Animation 之CAShapeLayerCATextLayer 老司机带你走进...模式初始化一个实例 self.timerInC = [CADisplayLink displayLinkWithTarget:self selector:@selector(changeImg...+(CADisplayLink *)displayLinkWithTarget:(id)target selector:(SEL)sel; 通过这个方法,可以以target/selector模式生成一个绑定了触发事件实例...好吧,CADisplayLink就这四个方法。以及四个属性: timestamp,获取上一次selector被执行时间戳。...最后一个init开头实例方法就是给timer添加了一个定时启动,这里就不赘述了。 NSTimer还有两个实例方法,fireinvalid。分别是立即执行事件销毁timer。

    1.5K20

    iOS 惯性滑动效果

    寅时室内地图.gif 讲一下写这篇文章原因:安卓是由于系统api,在滑动手势结束后调用系统自有api,传入手势结束时速度(x方向y方向)就能由系统自己做完往后操作。...所以,在我做出这个效果之后,我得将它分享出来,给需要的人提供思路,也希望能相互讨论,接受到更好办法做出更好效果。...一、第一种是在手势结束后通过UIView动画来改蓝色图片center,因为系统UIView动画快进慢出UIViewAnimationOptionCurveEaseOut这种效果可选。...displayLinkWithTarget:self selector:@selector(updateView)]; [dis addToRunLoop:[NSRunLoop currentRunLoop...要是帮到大家是我荣幸,另外夏天热,可以帮我买块西瓜去去暑 %>_<%。

    3.3K71
    领券