美文网首页
2018-02-28 runloop 笔记

2018-02-28 runloop 笔记

作者: KKKKaras | 来源:发表于2018-03-12 15:49 被阅读5次

runloop

作用

  • 保持程序运行
  • 处理app的各种事件(比如触摸,定时器等等)
  • 节省CPU资源,提高性能。

模型

・CFRunLoopRef = RunLoop
・CFRunLoopModeRef 是mode的属性
・CFRunLoopSourceRef
・CFRunLoopTimerRef
・CFRunLoopObserverRef
・是CFRunLoopRef的内容

  • NSRunLoop 把CFRunLoopRef进行了简单了封装
  • CFRunLoopRef 基于c语言
Foundation

[NSRunLoop currentRunLoop]; // 获得当前线程的RunLoop对象
[NSRunLoop mainRunLoop]; // 获得主线程的RunLoop对象
Core Foundation

CFRunLoopGetCurrent(); // 获得当前线程的RunLoop对象
CFRunLoopGetMain(); // 获得主线程的RunLoop对象

应用实例
1、当设置点击事件 延迟2秒执行时

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    [self.imageView performSelector:@selector(setImage:) withObject:[UIImage imageNamed:@"1"] afterDelay:2.0 inModes:@[NSDefaultRunLoopMode]];
}

在延迟执行的时候 进行比如textview、scrollview的滑动 会导致图片显示不出来。

[self.imageView performSelector:@selector(setImage:) withObject:[UIImage imageNamed:@"1"] afterDelay:2.0 inModes:@[NSRunLoopCommonModes]];

延伸

  • a.要让RunLoop跑起来,必须要给其添加一个有内容的mode。而且必须要让他Run。
  • b.RunLoop跑起来后相当于是一个while的死循环,后面的代码不会执行。

相关文章

  • 2018-02-28 runloop 笔记

    runloop 作用 保持程序运行 处理app的各种事件(比如触摸,定时器等等) 节省CPU资源,提高性能。 模型...

  • 2018-03-01

    2018-02-28 yiyixiyiyi 2018-02-28 20:50 · 字数 1117 · 阅读 3 ·...

  • RunLoop笔记

    runloop的理解:1.runloop表面意思就是:运行循环2.基本作用:1。保证程序的持续运行(如果没有run...

  • RunLoop笔记

    1:runloop是什么 runloop其实是一个对象,提供一个入口函数,程序启动的时候,程序就会进入一个运行循环...

  • RunLoop笔记

    学习sunny视频笔记 Why Run Loops? 使程序一直运行并接受用户输入 决定程序在何时应该处理哪些事件...

  • RunLoop笔记

    RunLoop是iOS和OSX中基本的概念,掌握RunLoop,能了解到苹果是如何利用RunLoop实现自动释放池...

  • RunLoop 笔记

    RunLoop 是 iOS 开发中非常重要的一个概念,本文是对孙源大神的视频的总结笔记与实践 命令式执行与事件驱动...

  • runloop笔记

    一、RunLoop概念 1、没有消息处理时,休眠已避免资源占用,由用户态切换到内核态 2、有消息需要处理时,立刻被...

  • runloop笔记

    runloop运行循环 目的: 保证程序不退出 负责监听所有事件硬件-->操作系统-->应用程序-->runloo...

  • 喜欢的链接

    ibireme深入理解RunLoop OneV's Den WWDC 2014 Session笔记 - iOS界面...

网友评论

      本文标题:2018-02-28 runloop 笔记

      本文链接:https://www.haomeiwen.com/subject/rylwxftx.html