3.3.2 同步请求

只在后台线程中使用同步请求, 除非确定请求访问的是本地文件资源, 否则请不要在主线程上使用


只有在知道返回的数据不会超出应用的内存时才使用同步请求. 记住, 整个响应体都会位于代码的内存中. 如果响应很大, 那么可能导致应用出现内存溢出问题. 此外, 当代码将响应解析为所需的格式时可能需要复制返回的数据, 这会导致内存增加一倍


在处理返回的数据前, 验证错误与调用返回的 HTTP 响应状态码


如果源 URL 需要验证, 那么不要使用同步请求, 因为同步框架并不支持对认证请求作出响应. 唯一的例外是 BASIC 认证, 因为这时认证信息可以通过 URL 或请求头进行传递. 以这种方式执行认证会增加应用与服务器之间的耦合度, 从面导致整个应用变得更加脆弱. 如果请求不使用 HTTPS 协议, 那么还会在明文中传递认证信息


如果需要向用户提供进度条, 那么不要使用同步请求, 因为请求是原子的, 无法提供中间的进度指示信息

如果在请求完成前需要取消, 那么不要使用同步请求



同步请求
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,079评论 19 139
  • iOS网络编程读书笔记 Facade Tester客户端门面模式的实例(被动版本化) 被动版本化,所以硬编码URL...
    melouverrr阅读 1,643评论 3 7
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,386评论 11 349
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,860评论 25 709
  • 01 大学毕业后,我留在了这个离家几百公里的大城市,一向衣来伸手饭来张口的我,开始明白生活并非只有诗和远方,还有现...
    苏曼卿阅读 562评论 5 13