iOS本地缓存方案之YYCache源码解析

2020-06-08
阅读 5 分钟
3.3k
NSUserDefault : 系统提供的最简便的key-value本地存储方案,适合比较轻量的数据存储,比如一些业务flag。主要原因还是其底层是用plist文件存储的,在数据量逐步变大后,可能会发生性能问题。

AFNetworking源码解析与面试考点延伸

2020-03-23
阅读 6 分钟
10.5k
最近重读了AFNetworking 3.x的源码,算是温故而知新吧。也梳理了一些优秀的代码细节和面试考点,罗列下来,发现这个库小而精致,简直初学者的宝藏库。

关于Core Animation动画(上)

2015-11-01
阅读 3 分钟
3.8k
对于UIView和CALayer,大家应该都很熟悉。通常我们了解到UIView是通过视图树的结构来组织起来的,实际上,UIView管理并维护了另一个图层树(即CALayer树),真正的在屏幕上显示与动画的实际上是CALayer对象。

iOS 异步图片加载优化与常用开源库分析

2015-05-18
阅读 7 分钟
34.1k
1. 网络图片显示大体步骤: 下载图片 图片处理(裁剪,边框等) 写入磁盘 从磁盘读取数据到内核缓冲区 从内核缓冲区复制到用户空间(内存级别拷贝) 解压缩为位图(耗cpu较高) 如果位图数据不是字节对齐的,CoreAnimation会copy一份位图数据并进行字节对齐 CoreAnimation渲染解压缩过的位图 以上4,5,6,7,8步是在UIImage...

GCD实现单一资源的多读单写

2015-04-27
阅读 4 分钟
9.5k
在多线程编程中,最常见的场景是如何保证线程安全,比如你可能经常遇到多线程访问某个dic(又或者是array或其他)造成的crash。 这篇文章里,我们讨论下如何使用GCD实现多线程读者与写者问题,也即单一资源的线程安全问题。 同时会有一些在MRC下crash问题讨论。