小结RunLoop】的更多相关文章

Core Foundation中关于RunLoop的5个类 CFRunLoopRef CFRunLoopModeRef CFRunLoopSourceRef CFRunLoopTimerRef CFRunLoopObserverRef 以上这些类都属于C语言 1.CFRunLoopRef 这里指的就是你要设置的是哪个RunLoop 可以通过 CFRunLoopGetCurrent()获取当前RunLoop CFRunLoopGetMain()获取主线程RunLoop 2.CFRunLoopMod…
1.RunLoop的概念及作用 2.RunLoop的使用 3.RunLoop的相关类 4.RunLoop的工作原理 5.小结 6.思考 什么是RunLoop? 从字面意思上是一直循环跑,事实上就是一个循环的概念.一般的应用程序在退出之前都一直处于响应时间的状态,即事件循环结构. RunLoop基本的循环模式 1.开始循环 2.程序处于睡眠状态,等待接受事件 3.事件传入,程序被唤醒,获取事件 4.处理事件 5.进入下一次循环 RunLoop的作用 1.使程序一直运行,并且接受用户的输入 2.决定…
学习iOS开发一般都是从UI开始的,从只知道从IB拖控件,到知道怎么在方法里写代码,然后会显示什么样的视图,产生什么样的事件,等等.其实程序从启动开始,一直都是按照苹果封装好的代码运行着,暴露的一些属性和方法作为接口,是让我们在给定的方法里写代码实现自定义功能,做出各种各样的应用.这些方法的调用顺序最为关键,熟悉了程序运转和方法调用的顺序,才可以更好地操控程序和代码,尽量避免Xcode不报错又实现不了功能的BUG.从Xcode的线程函数调用栈可以看到一些方法调用顺序. --零--从程序启动开始到…
参考资料 好的书籍都是值得反复看的,那好的文章,好的资料也值得我们反复看.我们在不同的阶段来相同的文章或资料或书籍都能有不同的收获,那它就是好文章,好书籍,好资料.关于iOS 中的RunLoop资料非常的少,以下这些资料都是非常好的. CF框架源码(这是一份很重要的源码,可以看到CF框架的每一次迭代,我们可以下载最新的版本来分析,或与以下文章对比学习.目前最新的是CF-1153.18.tar.gz) RunLoop官方文档(学习iOS的任何技术,官方文档都是入门或深入的极好手册:我们也可以在Xc…
上一篇讲了使用RunLoop保证子线程的长时间存活,而不是执行完任务后就立刻销毁的应用场景.这一篇就讲述一下RunLoop如何保证NSTimer在视图滑动时,依然能正常运转. 参考资料 好的书籍都是值得反复看的,那好的文章,好的资料也值得我们反复看.我们在不同的阶段来相同的文章或资料或书籍都能有不同的收获,那它就是好文章,好书籍,好资料.关于iOS 中的RunLoop资料非常的少,以下资料都是非常好的. CF框架源码(这是一份很重要的源码,可以看到CF框架的每一次迭代,我们可以下载最新的版本来分…
实例化讲解RunLoop 之前看过很多有关RunLoop的文章,其中要么是主要介绍RunLoop的基本概念,要么是主要讲解RunLoop的底层原理,很少用真正的实例来讲解RunLoop的,这其中有大部分原因是由于大家在项目中很少能用到RunLoop吧.基于这种原因,本文中将用很少的篇幅来对基础内容做以介绍,然后主要利用实例来加深大家对RunLoop的理解,本文中的代码已经上传GitHub,大家可以下载查看,有问题欢迎Issue我.本文主要分为如下几个部分: RunLoop的基础知识 初识RunL…
写在前面的 为什么要了解 RunLoop?如果你想成为一个高级iOS开发工程师,那这是你必须了解的东西,他能帮助你更好的理解底层实现的原理,可以利用它的特性做出一些高效又神奇的功能.RunLoop这个东西已经是在各路大神的Blog里面描述和详解过很多次的了,我把它翻出来再写一遍,一来是为了让自己温故而知新,二来会重点详细解读一下当初我理解时候遇到的难点,为初.中级想要进阶的iOS开发盆友排排坑. 本人写的东西不是很好(从小语文没学好),之前就懂的人看了肯定会觉得我很啰嗦(本人处女座,比较爱会啰嗦…
今天要讲的RunLoop的应用场景可能太简单了,所以东西比较少.因为跟UITableView.UICollectionView等的滑动优化有关,就顺便总结一下会影响UITableView.UICollectionView等视图滑动流畅的因素. 参考资料 好的书籍都是值得反复看的,那好的文章,好的资料也值得我们反复看.我们在不同的阶段来相同的文章或资料或书籍都能有不同的收获,那它就是好文章,好书籍,好资料. 关于iOS 中的RunLoop资料非常的少,以下资料都是非常好的. CF框架源码(这是一份…
你好2019!一起努力呀! 1.什么是runloop runloop是通过内部维护的事件循环对事件/消息进行管理的一个对象. 事件循环(Event loop):通俗的解释:没有消息处理的时候,休眠以避免资源占用:有消息需要处理时,立即被唤醒!书面的解释:没有需要处理的消息时,用户态切换为内核态:有消息需要处理时,内核态切换为用户态! 用户态:一般时开发者开发使用的.常见的api 内核态:系统调用底层的相关,例如:开关机.来电等! 用户态与内核态的理解! 需要注意的是:接收消息->处理消息->等…
看了一堂公开课,自己小结一下: Runloop: 内部有三个东东:(Source, Timer, Observer) 作用/本质:1.死循环 (为app 保活): 2.监听处理事件 Timer 理解: #pragma runloop -- Timer 理解 () NSThread *theard = [[NSThread alloc] initWithBlock:^{ NSTimer *timer = [NSTimer timerWithTimeInterval:1.0 repeats:YES…