《Android图片加载与缓存开源框架:Android Glide》

Android Glide是一个开源的图片加载和缓存处理的第三方框架。和Android的Picasso库类似,个人感觉比Android Picasso好用。Android Glide使自身内部已经实现了缓存策略,使得开发者摆脱Android图片加载的琐碎事务,专注逻辑业务的代码。Android Glide使用便利,短短几行简单明晰的代码,即可完成大多数图片从网络(或者本地)加载、显示的功能需求。

使用Android Glide,需要先下载Android Glide的库,Android Glide在github上的项目主页:

https://github.com/bumptech/glide 。

实际的项目使用只需要到Glide的releases页面把jar包下载后导入到本地的libs里面即可直接使用。Glide的releases的页面地址:https://github.com/bumptech/glide/releases ,在此页面找到最新的jar包,下载后放到自己项目的libs中,比如glide 3.6.0库的jar包下载地址:https://github.com/bumptech/glide/releases/download/v3.6.0/glide-3.6.0.jar


 接下来是在自己的项目中具体使用,现在给出一个具体的使用例子加以简单说明(通过网络加载图片然后在ImageView中显示出来):

MainActivity.java

import com.bumptech.glide.Glide;import android.support.v7.app.ActionBarActivity;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.ImageView;import android.widget.ListView;import android.app.Activity;import android.content.Context;import android.os.Bundle;public class MainActivity extends ActionBarActivity {private Activity mActivity;// 将从此URL加载网络图片。private String img_url = "http://avatar.csdn.net/9/7/A/1_zhangphil.jpg";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);mActivity = this;setContentView(R.layout.activity_main);ListView lv = (ListView) findViewById(R.id.listView);lv.setAdapter(new MyAdapter(this, R.layout.item));}private class MyAdapter extends ArrayAdapter {private int resource;public MyAdapter(Context context, int resource) {super(context, resource);this.resource = resource;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {if (convertView == null) {convertView = LayoutInflater.from(mActivity).inflate(resource,null);}ImageView iv = (ImageView) convertView.findViewById(R.id.imageView);Glide.with(mActivity).load(img_url).centerCrop()/* * 缺省的占位图片,一般可以设置成一个加载中的进度GIF图 */.placeholder(R.drawable.loading).crossFade().into(iv);return convertView;}@Overridepublic int getCount() {// 假设加载的数据量很大return 10000;}}}

MainActivity.java需要的两个布局文件:

activity_main.xml

        


item.xml

<?xml version="1.0" encoding="utf-8"?>    


更多相关文章

  1. android纹理图片的加载与修改
  2. React Native嵌入到Android原生应用中、组件的生命周期、颜色、
  3. 三层缓存机制-新知识点,Android常见的内存缓存算法(LruCache原理
  4. Android Handler 异步消息处理机制的妙用 创建强大的图片加载类
  5. android 登陆、提交数据或加载数据时提示页面
  6. 短视频PHP源码Android 打造专属的下拉刷新 加载更多
  7. [记录点滴]在Ionic和Android中上传Blob图片
  8. android 实现保存图片到相册

随机推荐

  1. GOLANG 为什么还有指针
  2. golang 怎么调用c代码
  3. golang 数组存的是什么
  4. golang 怎么设计一个栈
  5. golang 是面向对象的么
  6. golang 怎么拼接字符串
  7. golang 如何读取csv文件
  8. golang有web框架吗
  9. golang 是否需要orm
  10. golang获取当前时间是第几周