Android 中Glide网络下载框架: Glide 4.0.0 RC1
1)Glide 框架简介
Android Glide 是一个开源的图片加载和缓存处理的第三方框架。和 Android 的 Picasso 库类似,个人感觉比 Android Picasso 好用。Android Glide 使自身内部 已经实现了缓存策略,使得开发者摆脱 Android 图片加载的琐碎事务,专注逻辑业 务的代码。
使用
2)Glide 框架的使用
Glide 框架的使用
Android Glide,需要先下载 Android Glide 的库,Android Glide 在 github 上的 项目主页:https://github.com/bumptech/glide 。
实际的项目使用只需要到 Glide 的 releases 页面把 jar 包下载后导入到本地的 libs 里面即可直接使用。
3)Glide框架加载图片代码
Glide.with(上下文).load(图片地址).centerCrop() .placeholder(R.mimap.ic_launcher).crossFade().into(ImgeView);
Glide 4.0.0 RC1
一、什么是 Glide 4.0.0 RC1?
Glide 4.0 由 Google 的各种团队内部使用,4.0 被认为是内部稳定的。但外部用 户可能会发现内部尚未发现的问题。因此,将此作为 RC 发布。
二、Glide 4.0.0 RC1 有哪些新的亮点?
新的文档,用户可以通过提交请求到 Glide’s gh-pages 分支贡献;用户可以添 加新类型或自定义选项集来轻松地自定义 Glide 流畅的 API;大量简化个人请求类型, 确保选项始终如一,易于使用,即使您正在加载不同类型的资源;各种性能改进,包括 在下载采样图像时大量减少垃圾,更加智能的默认磁盘缓存策略,以及加载 GIF 时性 能提升;改进了视图大小和布局的处理,特别是在 RecyclerView 中。
三、Glide 3 如何切换到 Glid 4?
1. 添加 V4 依赖:这是Mac版的AS
首先File——>Project Structure
选择你要添加到的Moudle 右边的Dependences
点击左下加的➕号,添加Libary dependency
输入:glide就有最小的glide版本
注意这里是 Glide4.8 的版本,点击ok即可
2、RequestOptions
V3 中的 placeholder()、error()等设置已经被封装到 V4 的 RequestOptions 中, RequestOptions 一次设置之后,可以在多处使用。视频中讲解的 placeholder()、 error()代码,V4 实现如下:
public class Glide4Activity extends AppCompatActivity {
private ImageView imageView;
private RequestOptions requestOptions;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_glide4);
initView(); }
public void initView() {
imageView = (ImageView) findViewById(R.id.iv_glide);
requestOptions = new RequestOptions().placeholder(R.drawable.default_pic) .error(R.drawable.error_pic);
}
public void load(View view) {
Glide.with(this).load("http://img.mukewang.com/5518c3d7000175af06000 338-300-170.jpg")
.apply(requestOptions)
.into(imageView); }
3、TransitionOptions
TransitionOptions 用来配置变换相关的设置,其中包含 GenericTransitionOptions、DrawableTransitionOptions 和 BitmapTransitionOptions。Transitions 被要求用在 RequestBuilder。视频中 讲解的 crossFade()、thumbnail()代码,V4 实现如下:
Glide.with(this) .load("http://img.mukewang.com/5518c3d7000175af06000338-300-170.jpg") .apply(requestOptions)
.transition(new DrawableTransitionOptions().crossFade()) .thumbnail(Glide.with(this).load("http://img.mukewang.com/5518c3d7000175af06000338-300-170.jpg"))
.into(imageView); }
具体可以参考官方说明: https://github.com/bumptech/glide/releases/tag/v4.0.0-RC0