网络优化
流量优化
减少请求:etag缓存
流量压缩
连接优化
常用优化策略
HTTP缓存
缓存的使用
CacheControl
OkhttpCache
String path = this.getExternalCacheDir().getAbsolutePath();
File httpCache =new File(path+"/httpcache");
Cache cache =new Cache(httpCache,10*1024*1024);
okHttpClient = new OkHttpClient.Builder().cache(cache).build();
public void sendDefaultHttpRequest(){
CacheControl.Builder builder = new CacheControl.Builder();
Request defaultRequest = new Request.Builder().url("https://api.github.com/users/JakeWharton").
get().cacheControl(builder.build()).build();
okHttpClient.newCall(defaultRequest).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String responseBody = response.body().string();
Log.d("cache",responseBody);
}
});
}
压缩
使用HTPP压缩
Request:Accept-Encoding:gzip
Response:Content-Encoding:gzip
Okhttp已做了相关操作
使用二进制协议
ProBuf
FlatBuffers
MessagePack
图片
按需下载
连接优化
网络连接策略