我有一个应用程序混合网络请求,一些小项目(~20kB)和一些大项目(> 2mB)。如果我对SPDY的理解是正确的,则SPDY会在同一连接上复用请求,因此如果较小的请求落后于较大的请求,则可能会减慢这些请求的速度。既然OkHttp还没有支持请求的优先级,那么我能做些什么来防止这种情况发生吗?
我尝试将OkHttp客户端用于小型请求,并尝试使用另一个OkHttp客户端来处理更大的请求,但这似乎无法解决问题,因为连接似乎是在客户端之间共享。
答案 0 :(得分:0)
SPDY中的多路复用交错请求和响应,因此在另一个呼叫上没有呼叫阻塞;他们都只是阻止可用的带宽。
也就是说,可以创建两个OkHttp
实例,每个实例都有自己的连接池。
OkHttpClient okHttpClient = new OkHttpClient();
okHttpClient.setConnectionPool(new ConnectionPool());