处于上述模式,App会无法访问网络
网络请求流程:
DNS -> IP -> Socket(Tcp/IP) -> IO发送Http报文
Okhttp请求头里默认就设置为true,需要服务同意,服务端也可能会关掉
目前最流行的两种数据格式是 json 和 protobuf,json 是字符串,protobuf 是二进制,即使用各种压缩算法压缩后,protobuf 仍会比 json 小,数据量上 protobuf 有优势,序列化速度 protobuf 也有一些优势。
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.13'
apply plugin: 'com.google.protobuf'
implementation 'com.google.protobuf:protobuf-javalite:3.11.0'
http可以对内容body部分编码,OKhttp中已经加了请求头("Accept-Encoding", "gzip")
,如果服务器支持,并且返回内容响应头里有Content-Encodin:gzip
,OKhttp就会帮我们解压
1、使用webp代替png/jpg
2、不同网络的不同图片下发,如(对于原图是300x300的图片):
WiFi网络:直接下发300X300的图片
3、http开启缓存 / 首页数据加入缓存
作者介绍
中年程序猿,十年移动端开发老司机,分享一线开发经验和知识,正在探索通过副业渡过中年危机
越努力越幸运,加油💪,一起遇见更好的自己