聊聊Runloop】的更多相关文章

1.什么是Runloop 在开始聊RunLoop之前,我们先来了解一下程序的执行原理.一般来说,程序是在线程中执行,一个线程一次只能执行一个任务(关于GCD,可看上篇文章介绍),执行完成后线程就会退出.类似这样: int main(int argc, char * argv[]) { @autoreleasepool { NSLog(@"我开始干活了"); ; } } 在我们的App中,我们需要的是这样一个机制:线程能随时处理事件但不退出.这种机制叫做Event Loop,例如Wind…
1.屏幕显示图像的原理 显示器按照从上到下的方式,一行行扫描,扫描完成后显示器就呈现一帧画面,随后电子枪回到初始位置继续下一次扫描.为了把显示器的显示过程和系统的视频控制器进行同步,显示器(或者其他硬件)会用硬件时钟产生一系列的定时信号.当电子枪换到新的一行,准备进行扫描时,显示器会发出一个水平同步信号(horizonal synchronization),简称 HSync:而当一帧画面绘制完成后,电子枪回复到原位,准备画下一帧前,显示器会发出一个垂直同步信号(vertical synchron…
0x00 前言 目前所在的团队实行敏捷开发已经有了一段时间了.敏捷开发中重要的一个话题便是如何对项目进行恰当的版本管理.项目从最初使用svn到之后的Git One Track策略再到现在的GitFlow策略,中间有经验也有教训,所以记录在本文,既是和各位朋友交流也供自己日后查阅. 0x01 基础:Unity项目如何做版本管理? 为什么更喜欢git? 初来项目组到时候,项目还在使用SVN作为版本管理的工具.作为一个不喜欢SVN的人,自然而然想到了换用git来做版本管理.这里当然并不是说svn不如g…
前言: 其实小匹夫在U3D的开发中一直对U3D的跨平台能力很好奇.到底是什么原理使得U3D可以跨平台呢?后来发现了Mono的作用,并进一步了解到了CIL的存在.所以,作为一个对Unity3D跨平台能力感兴趣的U3D程序猿,小匹夫如何能不关注CIL这个话题呢?那么下面各位看官就拾起语文老师教导我们的作文口诀(Why,What,How),和小匹夫一起走进CIL的世界吧~ Why? 回到本文的题目,U3D或者说Mono的跨平台是如何做到的? 如果换做小匹夫或者看官你来做,应该怎么实现一套代码对应多种平…
参考资料 好的书籍都是值得反复看的,那好的文章,好的资料也值得我们反复看.我们在不同的阶段来相同的文章或资料或书籍都能有不同的收获,那它就是好文章,好书籍,好资料.关于iOS 中的RunLoop资料非常的少,以下这些资料都是非常好的. CF框架源码(这是一份很重要的源码,可以看到CF框架的每一次迭代,我们可以下载最新的版本来分析,或与以下文章对比学习.目前最新的是CF-1153.18.tar.gz) RunLoop官方文档(学习iOS的任何技术,官方文档都是入门或深入的极好手册:我们也可以在Xc…
中国互联网的三大错觉:索尼倒闭,诺基亚崛起,谷歌重返中国.12月8日,2016 Google 开发者大会正式发布了Google Developers 中国网站 ,包含了Android Developers 的官网.文档.博客教学视频等开发技术资源,同时也透露了 Angular 和 Firebase 也作为在中国的技术重头戏.更多可以看看这篇文章-- Google开发者大会给我们带来了什么,还有 @CSDN移动的采访 -- 关于 Google 的疑问,我们在这里得到了解答. 再来看看本期 fir.…
扯淡 随着app应用的崛起,后端服务开发的也越来越多,除了很多优秀的nodejs框架之外,微软当然也会在这个方面提供更便捷的开发方式.这是微软一贯的作风,如果从开发的便捷性来说的话微软是当之无愧的老大哥,只是鱼和熊掌不能兼得,各种语法糖带来开发的便利势必会牺牲程序运行的性能,这是无可避免的,通用和效率永远是需要程序员去取舍的话题.扯淡到这就完了,下来就聊聊今天的主角web api,web api 是mvc4.0之后出现的一种技术吧,他的创建和带来的便利我就不介绍了.这边文章主要聊聊,我对web…
0x00 前言 在上一篇文章<妥协与取舍,解构C#中的小数运算>的留言区域有很多朋友都不约而同的说道了C#中的decimal类型.事实上之前的那篇文章的立意主要在于聊聊使用二进制的计算机是如何处理小数的,无非我接触最多的是在托管环境下运行的高级语言C#,因此顺带使用了C#作为例子.一方面说明了计算机处理小数的本质,也起到了提醒各位更加关注本质而非高级语言表象的作用.当然,那篇文章中主要提到的是二进制浮点数double和float(即System.Double和System.Single,下文中…
前言:公司项目终于忙的差不多了,最近比较闲,想起叶大说过的iOS面试三把刀,GCD.runtime.runloop,runtime之前已经总结过了,GCD在另一篇博客里也做了一些小总结,今天准备把runloop搞一下,之前看了很多资料,也按照对应的在项目中的应用点写了几个demo,其中两个demo非原创,直接拿过来借花献佛了.今天才有时间把它们总结一下,并记录下来.关于runloop的基础知识我就不多介绍了,网上一堆介绍的文章,这里只说实际项目中的使用点,毕竟东西是拿来用的. 1.关于轮播图 第…
需要[tableView reloadData]后需要立即获取tableview的cell.高度,或者需要滚动tableview,那么,直接在reloadData后执行代码是会有问题的. 断点调试感觉[tableview reloaddata]是个异步操作导致下面的代码并不会再它执行完后才执行. 于是就想到了多线程,最简单使用动画来延迟执行 [UIView animateWithDuration:0.3 animations:^{ [self.collectionView reloadData]…