Android使用新组件-FinalBitmap

之前新闻资讯栏目用的网上下载的异步下载的组件,存在内存泄露问题,用了短时间之后,如果在模拟器环境下会出现内存错误的情况,后来看了下afinal组件,其中包含:finalBitmap组件,看介绍,有几大好处:

1、多线程下载;

2、支持缓存,包含内存和本地文件缓存;

3、异步下载;

4、简单,几行代码搞定

FinalBitmap模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。FinalBitmap可以配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等。FinalBitmap的内存管理使用lru算法,没有使用弱引用(android2.3以后google已经不建议使用弱引用,android2.3后强行回收软引用和弱引用,详情查看android官方文档),更好的管理bitmap内存。FinalBitmap可以自定义下载器,用来扩展其他协议显示网络图片,比如ftp等。同时可以自定义bitmap显示器,在imageview显示图片的时候播放动画等(默认是渐变动画显示)

代码:

1、初始化代码

		finalBitmap = FinalBitmap.create(this.getApplicationContext()); 初始化
		finalBitmap.configBitmapLoadThreadSize(3);定义线程数量

        finalBitmap.configDiskCachePath(this.getApplicationContext().getFilesDir().toString());设置缓存目录;
        finalBitmap.configDiskCacheSize(1024 * 1024 * 10);设置缓存大小
        finalBitmap.configLoadingImage(R.drawable.news_default);设置加载图片

2、调用代码

finalBitmap.display(imageView, newsinfoa.getImageUrl());第一个参数为iamgeview组件,第二个为加载的url地址

完成了

猜你喜欢

转载自wmcxy.iteye.com/blog/1930520