课程培训
RunLoop基础培训

一:什么是RunLoop
   (1)从字面意思看,运行循环、跑圈。
   (2)保持程序持续运行,处理App中的各类事件包括触摸事件、定时器事件、Selector事件。
   (3)节省CPU资源,提高程序的性能,该做事的时候做事,该休息的时候休息。
   
二:RunLoop与线程
    
   (1)每条线程都有唯一的一个与之对应的RunLoop对象。
   (2)主线程的RunLoop已经自动创建好了,子线程的RunLoop需要主动创建。
   (3)RunLoop在第一次获取时创建,在线程结束时候销毁。

三:RunLoop相关类
   Core Foundation中关于RunLoop的5个类

   1:CFRunLoopRef

   2:CFRunLoopModeRef  ,CFRunLoopModeRef代表RunLoop的运行模式,一个RunLoop包含若干个运行模式,即一个RunLoop包含若干个Mode,每个Mode又包含若干个Source/Timer/Observer,每次RunLoop启动时,只能指定其中一个Mode,这个Mode被称作CurrentMode,如果需要切换Mode,只能退出Loop,再重新指定一个Mode进入。系统默认注册了5个Mode:
   (1)kCFRunLoopDefaultMode:App的默认的Mode,通常线程是在这个Mode下运行
   (2)UITrackingRunLoopMode:界面跟踪Mode,用于ScrollView追踪触摸滑动,保证界面滑动时不受其它Mode影响
   (3)UIInitializationRunLoopMode:在刚启动App时进入的第一个Mode,启动完成后就不再使用
   (4)GSEventReceiveRunLoopMode:接收系统事件的内部Mode,通常用不到。
   (5)kCFRunLoopCommonMode:这是一种占位用的Mode,不是一种真正的Mode。

   3:CFRunLoopTimerRef
   (1)CFRunLoopTimerRef是基于时间的触发器。
   (2)基本上说的就是NSTimer,它会受到runloop的Mode的影响。
   (3)GCD的定时器不受RunLoop的mode的影响。




如果您想学习本课程,请预约报名
如果没找到合适的课程或有特殊培训需求,请订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表点击在线申请

服务特点:
海量专家资源,精准匹配相关行业,相关项目专家,针对实际需求,顾问式咨询,互动式授课,案例教学,小班授课,实际项目演示,快捷高效,省时省力省钱。

专家力量:
中国科学院软件研究所,计算研究所高级研究人员
oracle,微软,vmware,MSC,Ansys,candence,Altium,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获
报名表下载
联系我们 更多>>

咨询电话010-62883247

                4007991916

咨询邮箱:soft@info-soft.cn  

 

微信号.jpg

  微信咨询

随时听讲课

聚焦技术实践

订制培训 更多>>