Android AsyncTask 用于网络目的是一个坏主意吗?

Mau*_*lva 2 networking android http android-asynctask

在过去的一年里,我一直在使用 AsyncTasks 来访问服务器并检索数据,但是为此目的使用 AsyncTasks 是一个坏主意吗?

我看到很多人使用诸如 Retrofit 之类的库来处理他们的网络操作。

我应该使用一些第三方库(甚至 Google 的 Volley)来处理此类请求吗?

Hit*_*ahu 5

异步任务是处理 UI 线程外任务的基本 Android 方式。

异步任务有很多限制,例如不支持方向更改、无法取消网络调用,以及没有简单的方法来并行进行 API 调用。

关于网络,有两件事非常重要

  • 速度
  • 并行请求

Retrofit在速度和并行网络调用方面都获胜,volley其次,比单个请求 慢Async task大约3 倍,比 25 个请求慢 13 倍。Retrofit

显然使用异步任务是个坏主意

在此输入图像描述

图片来源http://instruct.github.io/blog/2013/12/09/volley-vs-retrofit/