Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用ExecutorService+;可运行或使用呼叫排队?_Android_Android Studio_Retrofit2 - Fatal编程技术网

Android 使用ExecutorService+;可运行或使用呼叫排队?

Android 使用ExecutorService+;可运行或使用呼叫排队?,android,android-studio,retrofit2,Android,Android Studio,Retrofit2,抱歉,如果这是一个太简单的问题,我是新的使用远程数据源 我假设Enqueue是在后台线程而不是主线程上运行的,但哪一种更快、更适合优化?据我所知,使用Runnables会占用更多的代码,但我见过使用这种方法构建的多个应用程序,它比简单的排队方法好吗?改型将使用底层的OkHttp调用服务器。Enqueue是经过测试的,最好使用开发人员认可的具有性能测试和许多其他方面的工具。它还涵盖了您的ExecutorService,而无需为其编写实现。我将为OkHttp的新读者补充几点 newrequest.

抱歉,如果这是一个太简单的问题,我是新的使用远程数据源


我假设Enqueue是在后台线程而不是主线程上运行的,但哪一种更快、更适合优化?据我所知,使用Runnables会占用更多的代码,但我见过使用这种方法构建的多个应用程序,它比简单的排队方法好吗?

改型将使用底层的
OkHttp
调用服务器。Enqueue是经过测试的,最好使用开发人员认可的具有性能测试和许多其他方面的工具。它还涵盖了您的
ExecutorService
,而无需为其编写实现。我将为OkHttp的新读者补充几点

  • newrequest.Builder().url(endpoint.build()
    创建请求,但 没有发送任何东西

  • client.newCall(request).execute()
    发送请求并等待 响应,但不下载响应,只下载其头文件 您可以立即检查
    response.issusccessful()
    之类的内容

  • response.body().string()
    下载响应的主体并 返回一个字符串

您可以像这样推动自己的
ExecutorService
实现

OkHttpClient.Builder().dispatcher(Dispatcher(executorService)).build()