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()