xUtils中BitmapUtils模块的使用实例

来源:互联网 发布:广州市大数据产业规模 编辑:程序博客网 时间:2024/05/16 13:01

对于res里的图片,程序运行时就加载在内存中了,所以没必要使用BitmapUtils了
据作者解释,BitmapUtils没有采用单例模式,这样可以采用不同的默认配置来加载不同的图片.
BitmapUtils一共有两种配置BitmapGlobalConfig和BitmapDisplayConfig
BitmapGlobalConfig主要配置磁盘缓存路径,程序缓存大小(这个大小在源码中有限制),
BitmapDisplayConfig主要配置异步加载未完成时临时显示的图片,加载失败的图片,显示图片的最大Size,
加载图片动画,图片是否翻转,是否显示原图(不建议使用)等.


BitmapUtils模块:

  • 加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;
  • 支持加载网络图片和本地图片;
  • 内存管理使用lru算法,更好的管理bitmap内存;
  • 可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...
BitmapUtils bitmapUtils = new BitmapUtils(this);// 加载网络图片bitmapUtils.display(testImageView, "http://bbs.lidroid.com/static/image/common/logo.png");// 加载本地图片(路径以/开头, 绝对路径)bitmapUtils.display(testImageView, "/sdcard/test.jpg");// 加载assets中的图片(路径以assets开头)bitmapUtils.display(testImageView, "assets/img/wallpaper.jpg");// 使用ListView等容器展示图片时可通过PauseOnScrollListener控制滑动和快速滑动过程中时候暂停加载图片listView.setOnScrollListener(new PauseOnScrollListener(bitmapUtils, false, true));listView.setOnScrollListener(new PauseOnScrollListener(bitmapUtils, false, true, customListener));
实例:
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);iv = (ImageView) findViewById(R.id.act_iv);iv.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubToast.makeText(getApplicationContext(), "here", Toast.LENGTH_SHORT).show();}});}public void bitmaputils_onclick(View v){bm = new BitmapUtils(this);bm.configMemoryCacheEnabled(true);bm.configDiskCacheEnabled(true);bm.configDefaultLoadFailedImage(BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher));bm.display(iv, "http://i-7.vcimg.com/crop/d3b536b39a86f6a62280b97b1ab3a68a309526(600x)/thumb.jpg");}

0 0