Android上的OkHttp线程优先级背景

时间:2016-02-24 08:42:02

标签: android multithreading okhttp okhttp3

在Android上,建议将线程优先级设置为THREAD_PRIORITY_BACKGROUND,以避免其他线程干扰主线程。 OkHttp使用多个线程池(调度程序,连接池等),但我发现它不担心线程优先级。例如,NetworkDispatcher#84中的Google Volley库使用THREAD_PRIORITY_BACKGROUND

OkHttp是否有理由不设置线程优先级?在Android上使用它时,我应该将线程工厂替换为将线程优先级设置为背景吗?

1 个答案:

答案 0 :(得分:1)

您可以使用为执行程序服务提供的API等将线程优先级设置为您喜欢的任何内容。

在大多数情况下,OkHttp不使用CPU,当它发生时,我通常不希望它是低优先级。 OkHttp花费其初始CPU周期准备发送您的网络请求。我喜欢尽可能紧急地进行网络I / O,因为这会尽可能地让您的回复得到回应。一旦请求消失,OkHttp就不会使用CPU。它只是阻止,静静地等待网络响应。最后当我返回时,我喜欢紧急回复来电。

TL; DR:您可以帮助自己调整线程优先级,但它没有太大的区别,因为OkHttp不使用CPU太多,当它确实使用CPU时我认为通常是一个好主意I / O尽快启动。

相关问题