iOS开发·由SDWebImage引发的知识点聚合与思考(最新呕心沥血之作)

前面的话

引言

学习iOS的各种知识点,例如runloop,只懂原理不行,要清楚明白它的应用场景才是真懂;学习SDWebImage的框架源码,只看SDWebImage的业务逻辑,也不是真懂。有效的学习是不断的问问题,挖掘并总结SDWebImage它这些场景涉及到的知识点,然后再模仿它,结合那些场景去写出这个知识点才是真懂。据我所观察SD涉及到的知识点就有:runloop的mode切换,runtime的关联对象,多线程NSOperation的开始与挂起,网络操作里面NSURLSession与NSURLConnection的区别,关于缓存的NSCache,NSFileManager操作,等等。

目录
  1. 网络知识篇
    1.1 基于的方案:NSURLConnection与NSURLSession
    1.2 断点续传(非可持久性,APP重启后不能再续传)
    1.3 可持久性断点续传(持久性,APP重启后可再续传)
    1.4 NSURLSession的两种形式:Block和代理
    1.5 操作及改动NSURLSession下载的文件位置

  2. 多线程与NSOperation篇
    2.1 基于NSURLConnection的SDWebImage
    2.2 基于NSURLSession的SDWebImage

  3. Runloop的mode切换暂停 vs NSOperaiton的suspend挂起
    3.1 基于NSURLConnection的SDWebImage
    3.2 基于NSURLSession的SDWebImage

  4. 缓存与文件操作篇
    4.1 获取内存缓存的关键 --imageFromMemoryCacheForKey
    4.2 获取磁盘缓存的关键 -- diskImageForKey:
    4.3 除了真正下载操作之前的缓存检查,磁盘缓存还有什么用?

  5. 后面的话

  6. 致谢

你可能感兴趣的:(iOS开发·由SDWebImage引发的知识点聚合与思考(最新呕心沥血之作))