SDWebImage和AFNetWorking

来源:互联网 发布:sql join union 编辑:程序博客网 时间:2024/04/29 07:53

1.SDWebImage的具体实现,先从内存取,内存没有再从沙盒取,沙盒有的话,要缓存到内存(每次都从沙盒取,然而沙盒频繁读取数据是很耗费性能的,所以把沙盒中的图片添加到缓存,下次再次滚动到此图片,缓存已经有了,就直接从缓存取出并赋值返回cell了),两者都没有才下载,操作一加入队列,首先缓存到沙盒,下载成功后才缓存到内存。下载操作类(NSOperation)、管理类(负责怎么获取图片,并且有了图片告诉UI来设置图片)注意:保存到沙盒的是名为图片urlString的文件,可以用imageWithContentOfFile来拿到图片,保存到内存的是真正的图片UIImage,所以只能下载成功后才缓存到内存


2.AFNetworking2.0 3.0有什么区别?

AFNetworking3.0版本中删除了基于 NSURLConnection API的所有支持。如果你的项目以前使用过这些API,建议您立即升级到基于 NSURLSession APIAFNetworking的版本。 AFNetworking3.0现已完全基于NSURLSessionAPI,这降低了维护的负担,同时支持苹果增强关于NSURLSession提供的任何额外功能。可以结合MBProgressHUD,网络请求时间短的话,就可以不要显示HUD,提高用户体验,另外HUD也可以懒加载,全程只需要一个HUD即可。HUD内部有创建HUD对象时涉及到请求时间的类方法,在这个方法中如果请求时间小于某个值,就返回nil,即不显示HUD。此外AFN还有联网检测功能,每次请求网络之前先检测有没有网络,没有网络则提示用户(涉及到AFNHUD的组合封装)

0 0