xutils

来源:互联网 发布:网络推广课程 编辑:程序博客网 时间:2024/04/30 22:13

11,12年安卓开发刚刚起步
技术刚刚发展,做一个app难度大,http请求和图片加载。各个公司几乎都是自己写自己的。在哪个时代图片加载就能难道很多人。
往后发展,逐渐有些大牛或者团队把自己封装好的图片加载的相关代码成一个框架提供给别人使用。
国内流行一个框架叫afinal。afinal提供了多种功能,其中有两个功能:http请求,图片加载。
毕竟比较古老的框架,有Bug和逻辑上的疏忽。
后来有人在afinal的基础上做了优化推出来了xutils2。
近几年人们把眼光逐渐放向国外,github社区变成了最火的开发社区。
在这里看到了全世界的优秀代码。
xutils功能齐全。但是代码冗余。
安卓6.0。直接把HttpClient移除掉了。xutils http请求使用Httpclient。
15 下半年xutils的作者推出来了xutils3 ,xutils3与xutils的代码使用上和代码实现上有很大不同。xutils3把httpclient改为urlconnection.

三级缓存
内存,磁盘,网络。
首先读取内存通过 url 标记查找bitmap对象,如果找到就直接填充
如果找不到,再去磁盘去查找。找到了在view里填充,并存放进入内存里用 url 标记。
如果内存和磁盘都找不到去网络下载,下载完成之后放到本地和内存中。

Http
主要有两种请求api:HttpClient UrlConnection
主要有两种请求方式:get ,post(还有其他的delete,copy,put,move)
get:
请求参数是键值对,在url后缀拼接,与url ?隔开,多个参数用&链接。
请求路径和参数在浏览器的请求地址里是可见的。
http请求Url+参数有最大长度限制,根据不同的浏览器限制不一样。
速度快于post。

post:
参数放在http请求体的身体里,body中。在浏览器地址栏中参数不可见。
请求数据的大小和多少理论上说没有限制。根据客户端和服务端的硬件条件。
文件上传要放在post。
注册,登录。

一次请求中,get,post里能够同时携带数据。

http请求耗时,所以我们要使用异步。

http请求: get请求,post请求 。文件上传,文件下载。

0 0