最近在做网络请求的优化,写一些心得体会,不足之处还请谅解。
本篇文章主要讲网络应用层的优化,网络层优化不在本篇文章范围内,我也在学习这块ing。
应用层优化主要分两点:
1:网络请求开始时的优化
2: 网络请求回调的时候的优化
在应用层上来说,主要就这两部分,当然网络层优化也基本是这两点。
首先来说下图片亲故的优化
现在工程里普遍使用SD请求图片,在优化这块的时候,我发现SD有个大坑,最经典的SD用法使用SDWebImageManager下载图片,但是问题来了,直接使用这个下载图片有一个dispatch_async到主线程的过程,这块如果主线程正在忙,那么这次请求回等主线程结束当前任务之后在下载图片。
我采取的优化方式是舍弃SDWebImageManager,使用SDWebImageDownloader下载图片。
网络请求完成之后,图片请求的回调,设计UI操作必须dispatch到主线程,如果主线程繁忙,这个回调依然会被阻塞。