文件名称:ImageView异步加载图片ImageLoaderSample.zip
文件大小:197KB
文件格式:ZIP
更新时间:2022-08-07 22:53:38
开源项目
这个可以实现ImageView异步加载图片,内存缓存,文件缓存,imageview显示图片时增加淡入淡出动画。解决了:1. listview加载oom问题 2. listview加载时卡顿的现象 3. listview加载时item中图片重复错位等情况 可以配置: 1. 设置加载图片的最大尺寸 2. 设置默认图片的显示 3. 设置图片位图模式 4. 设置内存缓存的最大值。 5. 文件缓存保存的目录 这个框架基本的代码是很久以前不知道哪里弄的,零零碎碎的,现在已经优化了很多,所以现在上传到github上共享。 讲讲使用方式吧: 首先使用前下载源码或者jar包(见github:https://github.com/wangjiegulu/ImageLoaderSample) 然后进行图片加载器(ImageLoader)的配置和初始化,推荐的方法如下: 新建MyApplication类,继承Application,在onCreate中增加如下代码:/** * Created with IntelliJ IDEA. * Author: wangjie email:tiantian.china.2@gmail.com * Date: 14-2-27 * Time: 上午11:25 */ public class MyApplication extends Application{ @Override public void onCreate() { super.onCreate(); ImageLoader.init(getApplicationContext(), new CacheConfig() .setDefRequiredSize(600) // 设置默认的加载图片尺寸(表示宽高任一不超过该值,默认是70px) .setDefaultResId(R.drawable.ic_launcher) // 设置显示的默认图片(默认是0,即空白图片) .setBitmapConfig(Bitmap.Config.ARGB_8888) // 设置图片位图模式(默认是Bitmap.CacheConfig.ARGB_8888) .setMemoryCachelimit(Runtime.getRuntime().maxMemory() / 3) // 设置图片内存缓存大小(默认是Runtime.getRuntime().maxMemory() / 4) // .setFileCachePath(Environment.getExternalStorageDirectory().toString() "/mycache") // 设置文件缓存保存目录 ); } …… }然后再AndroidManifest.xml中添加:......到此,配置已经全部完成:接下来,使用ImageLoader来加载图片:holder.progress.setText("0%"); holder.progress.setVisibility(View.VISIBLE); final ViewHolder vhr = holder; ImageLoader.getInstances().displayImage(list.get(position), holder.image, new ImageLoader.OnImageLoaderListener() { @Override public void onProgressImageLoader(ImageView imageView, int currentSize, int totalSize) { vhr.progress.setText(currentSize * 100 / totalSize "%"); } @Override public void onFinishedImageLoader(ImageView imageView, Bitmap bitmap) { vhr.progress.setVisibility(View.GONE); } }); 或者: ImageLoader.getInstances().displayImage(url, imageIv); 或者 ImageLoader.getInstances().displayImage(url, imageIv, 100);备注:例子中,用到了一部分注解(与ImageLoader功能无关,但是可以简化代码的编写) 可以点下面连接进入:github:https://github.com/wangjiegulu/androidInject博客:http://www.cnblogs.com/tiantianbyconan/p/3459139.htmlhttp://www.cnblogs.com/tiantianbyconan/p/3540427.html
【文件预览】:
ImageLoaderSample-master
----settings.gradle(407B)
----project.properties(630B)
----src()
--------com()
----AndroidManifest.xml(467B)
----ImageLoaderSample.iml(861B)
----library()
--------ImageLoaderSample_1.0.jar(15KB)
----res()
--------drawable-ldpi()
--------drawable-hdpi()
--------drawable-mdpi()
--------drawable-xhdpi()
--------values()
----README.md(4KB)
----gen()
--------com()
----local.properties(432B)
----build.xml(4KB)
----.gitignore(459B)
----proguard-project.txt(781B)
----build.gradle(2KB)