AFNetworking-2.x框架可改进点总结
AFNetworking网络框架2.x是很优秀的,许多关键的技术细节处理的是很到位的。
AFNetworking 2.x可能改进点小结
1.可以根据需求,选用其中部分模块,并裁剪部分类
2.目前网络模块不支持长连接
3.NSCache的不当使用,可以调整优化
见UIKit扩展
中UIImageView (AFNetworking)
中
- 1.如果没有对图片个数或占用内存大小作限制,如果使用过多,会造成内存占用过多引发crash;
- 2.如果做了图片个数或内存大小的限制,因为NSCache的淘汰策略是基于引用计数的,则通常不是我们所需求的,这也是系统提供的NSCache的尴尬之处。
4.UIKit扩展中UIButton(AFNetworking)图片不支持cache
5.图片下载队列的优化调整。
- 1.UIImageView (AFNetworking)和UIButton (AFNetworking)各使用一个NSOperationQueue,如果同时使用这两个控件,可以考虑使用同一个NSOperationQueue。
- 2.鉴于我们应用当中图片使用量较大,不建议直接使用网络模块中的队列进行下载。
6.网络请求取消,可以完善下
7.最好屏蔽网络请求暂停的接口
网络请求暂停后,始终会停留在NSOperationQueue中,占用线程资源,影响其它线程的调度。