LML Blog

Thinking will not overcome fear but action will.

运行时

运行时基础知识

前言 线程、队列、锁 与 Runloop iOS 中比较重要且相关联的概念。本文为此系列的第一篇,主要介绍与线程、队列相关几组概念和这几组概念之间的关系。下面为本篇介绍的提纲: 队列、任务 同步、异步 串行队列、并行队列 线程与队列的组合 线程与队列的关系 死锁 #1.任务、队列 任务:执行什么操作,比如block 队列:用来存放任务 - Th...

Xcode断点

前言 本文主要对Xcode调试过程中,可能使用到的几种断点进行介绍 Exception BreakPoint 当应用产生异常或崩溃时Xcode一般会直接跳到主函数。但这并不是我们想要的, 我们想要的是产生异常或崩溃能够停留在异常或者崩溃发生的地方而不是跳转到主函数. 例子: 加Exception BreakPoint之前 加Exception BreakPoint之后 #Symbo...

iOS 定时器

前言 本系列文章主要介绍 iOS 中几种常见的定时器的使用,主要包括: NSTimer CADisplayLink dispatch_source_t dispatch_source_t 创建、添加、开启方法 (void)addDisPatch_source { //1.创建 self.disTimer = dispatch_source_create(...

Runloop

前言 线程、队列、锁 与 Runloop iOS 中比较重要且相关联的概念。本文为此系列的第一篇,主要介绍与线程、队列相关几组概念和这几组概念之间的关系。下面为本篇介绍的提纲: 队列、任务 同步、异步 串行队列、并行队列 线程与队列的组合 线程与队列的关系 死锁 #1.任务、队列 任务:执行什么操作,比如block 队列:用来存放任务 - Th...

线程与队列

前言 线程、队列、锁 与 Runloop 是 iOS 中比较重要且相关联的概念。本文为此系列的第一篇,主要介绍与线程、队列相关几组概念和这几组概念之间的关系。下面为本篇介绍的提纲: 队列、任务 同步、异步 串行队列、并行队列 线程与队列的组合 线程与队列的关系 死锁 #1.任务、队列 任务:执行什么操作,比如block 队列:用来存放任务 - ...

iOS 数据持久化

前言 本系列文章主要介绍内存缓存和磁盘缓存的相关用法和原理。磁盘缓存其实就是 数据持久化。本文对 iOS 中常用的数据持久化方案进行介绍,主要有以下几种方案: plist文件(属性列表) preference(偏好设置) NSKeyedArchiver(归档) SQLite 3 CoreData 沙盒 在介绍各种数据持久化方案之前,先介绍下沙盒的机制和结构:iOS...

YYCache

前言 先占个位置,详细阅读之后补充,概括下基本原理 内存缓存:自己写的,锁+字典+链标+LRU内存淘汰faze 磁盘:数据库+文件(文件时mmap读还是file有待考证)

SDWebImage缓存策略

前言 先占个位置,详细阅读之后补充,概括下基本原理 内存缓存:基于NSCache 磁盘:file,且非mmap?? 可以参考https://www.jianshu.com/p/239226822bc6

FastImageCache缓存原理解析

前言 先占个位置,详细阅读之后补充,概括下基本原理 主要看他的mmap磁盘缓存

NSURLCache

1.前言 本文主要介绍NSURLCache的相关内容,NSCache的相关介绍见上篇 2.简介 The NSURLCache class implements the caching of responses to URL load requests by mapping NSURLRequest objects to NSCachedURLResponse objects. It ...