码迷,mamicode.com
首页 > 移动开发 > 详细

IOS ---两种网络请求的最佳实践

时间:2015-04-27 09:47:30      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:ios   网络   请求   

在使用URL 加载系统时,主要的两种方法可以执行HTTP请求和接收响应:

一、同步请求的最佳实践

  • 只在后台线程中使用同步请求,除非确定请求访问的是本地文件资源,否则请不要再主线程上使用;
  • 只有在知道返回的数据不会超出应用的内存时才使用同步请求。记住,整个响应体都会在位于代码的内存中。如果响应很大,那么可能导致应用出现内存溢出问题。此外,当代吗将响应解析为所需的格式时可能需要复制返回的数据,这会导致内存增加一倍;
  • 在处理返回的数据前,验证错误与调用返回的HTTP响应状态码;
  • 如果源URL需要验证,那么不要使用同步请求,因为同步框架并不支持对认证请求作出响应;
  • 如果需要向用户提供进度条,那么不要使用同步请求,因为请求是原子的,无法提供中间的进度指示信息;
  • 如果需要通过流解析器来渐进解析响应数据,那么不要使用同步请求;
  • 如果在请求完成前需要取消,那么不要使用同步请求。

二、异步请求的最佳实践

  • 对于大的上传或者下载来说,请使用异步请求以减少应用的内存占用量;
  • 在需要认证的情况下请使用异步请求;
  • 如果需要向用户提供进度反馈,那么请使用异步请求;
  • 在后台线程上使用异步请求时要小心,请提供一个运行循环;
  • 对于可以在后台线程的请求队列中轻松调度和完成的简单请求来说,这时使用异步请求有些过犹不及;
  • 如果使用输入流来上传数据,请实现connection:newBodyStream:方法以避免对输入流的复制

IOS ---两种网络请求的最佳实践

标签:ios   网络   请求   

原文地址:http://blog.csdn.net/lf644206005/article/details/45301273

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!