深入理解 YYCache
前言 YYCache 是一个高性能的缓存框架,由 ibireme 开发,项目中使用到了 YYCache 作为缓存方案,下面就来掰扯一下它的实现机制,解释它高性能的来由,LRU 算法的实现,使用到的锁,以及删除缓存的时机等,另外还有一些框架我觉得可能存在的问题。 YYMemoryCache...
前言 YYCache 是一个高性能的缓存框架,由 ibireme 开发,项目中使用到了 YYCache 作为缓存方案,下面就来掰扯一下它的实现机制,解释它高性能的来由,LRU 算法的实现,使用到的锁,以及删除缓存的时机等,另外还有一些框架我觉得可能存在的问题。 YYMemoryCache...
前言 来讨论下让人模糊的证书相关的问题。 1.要证书干嘛? 第一个问题,要证书干嘛? 证书是给签名用的。 签名又是干嘛的? 签名表示我对数据做了标记,表明这是我的数据,没有经过篡改。苹果使用签名机制来限制App的分发。 如何知道数据没有被篡改过?...
前言 这篇文章主要围绕几个问题展开: 1. block 是什么 2. block 的类型 3. block 是什么,以及它的 forwarding 指针的用处 4. block 为什么会造成循环引用 5. block 的拷贝机制 6. block 的运用 block 是什么 block...
前言 这篇文章主要想弄清楚事件(如触摸屏幕)产生后,系统是如何通知到你的 App,在 App 内部是如何进行传递,最终又是如何确定最终的响应者的。 这些肯定是有规则的,在 App...
前言 多线程编程所处的环境是一个复杂的环境,线程之间穿插执行,需要使用一定的手段来保证程序的正确运行,这个手段就是同步。这篇文章分了两个部分,第一部分会先介绍同步的概念,第二部分是 iOS 中能使用到的同步方案的一个分析以及具体如何使用。 线程同步的概念 为什么要同步?...
前言 我们现在所使用的操作系统模式是 多任务(Multi-tasking)系统,操作系统接管所有的硬件资源,而且本身运行在一个受硬件保护的级别。所有的应用程序都是以 进程(Progress)...
前言 iOS 的内存管理不止是 「引用计数表」。 iOS 开发者基本都知道 iOS 是通过「引用计数」来管理内存的,但是也许并不知道 iOS 其他的内存管理方式,比如 「Tagged Pointer」(带标记的指针),比如 「NONPOINTERISA」(非指针型...
前言 这年头,不能扯点 Runtime 哪敢去面试啊。。 Runtime 直接翻译就是 运行时。但是有人说它叫运行时,有人说它是运行时库,有人说它就是一个对象,exm?又是对象?当初我看 RunLoop 的时候你也是这么说的。但你说的是对的,毕竟万物皆对象嘛,好,你回去等通知吧。...
前言 Y神写的是真的好。这篇文章的大部分内容来自 Y神的深入理解 RunLoop,再结合官方文档 和其他一些网上的资料再加上自己的一些理解做了一些补充和归纳,官方文档也非常值得一看。 <br RunLoop 简单介绍 RunLoop 直接翻译过来就是...