图片异步加载框架 Android-Universal-Image-Loader
2013-10-22 15:08
726 查看
特点
多线程图片加载尽可能多的配置选项(线程池,加载器,解析器,内存/磁盘缓存,显示参数等等)
图片可以缓存在内存中,或者设备文件目录下,或者SD卡中
可以监听加载进度
可以自定义显示每一张图片时都带不同参数
支持Widget
jar包下载
1.自定义XXXAppllication类,初始化ImageLoader
public class XXXApplication extends Application { @Override public void onCreate() { super.onCreate(); ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()) .denyCacheImageMultipleSizesInMemory() .memoryCache(new LruMemoryCache(2 * 1024 * 1024)) .memoryCacheSize(2 * 1024 * 1024) .discCacheSize(50 * 1024 * 1024) .denyCacheImageMultipleSizesInMemory() .discCacheFileNameGenerator(new Md5FileNameGenerator()) .tasksProcessingOrder(QueueProcessingType.LIFO) .discCacheFileCount(100) .writeDebugLogs() .build(); ImageLoader.getInstance().init(config); } }
2.在AndroidManifest.xml文件的application标签里加入
android:name=".XXXApplication"
3.使用imageloader
public class ImageManager{ public static void Load(String imgUrl,ImageView imageView){ ImageLoader.getInstance().displayImage(imgUrl, imageView); } public static void Load(String imgUrl,ImageView imageView,DisplayImageOptions o){ ImageLoader.getInstance().displayImage(imgUrl, imageView,o); } }
4.部分参数介绍
//设置图片在下载期间显示的图片 showStubImage(R.drawable.ic_launcher) //设置图片Uri为空或是错误的时候显示的图片 showImageForEmptyUri(R.drawable.ic_empty) //设置图片加载/解码过程中错误时候显示的图片 showImageOnFail(R.drawable.ic_error) //设置图片在下载前是否重置,复位 resetViewBeforeLoading() //设置下载的图片是否缓存在内存中 cacheInMemory() //设置下载的图片是否缓存在SD卡中 cacheOnDisc() //设置图片的解码类型 bitmapConfig(Bitmap.Config.RGB_565) //设置图片的解码配置 decodingOptions(android.graphics.BitmapFactory.Options decodingOptions) //设置图片下载前的延迟 delayBeforeLoading(int delayInMillis) //设置额外的内容给ImageDownloader extraForDownloader(Object extra) //设置图片加入缓存前,对bitmap进行设置 preProcessor(BitmapProcessor preProcessor) //设置显示前的图片,显示后这个图片一直保留在缓存中 postProcessor(BitmapProcessor postProcessor) //设置图片以如何的编码方式显示 imageScaleType(ImageScaleType imageScaleType) /** * 设置图片的显示方式 * @param displayer */ displayer(BitmapDisplayer displayer) displayer: RoundedBitmapDisplayer(int roundPixels)设置圆角图片 FakeBitmapDisplayer()这个类什么都没做 FadeInBitmapDisplayer(int durationMillis)设置图片渐显的时间 SimpleBitmapDisplayer()正常显示一张图片 /** * 图片的缩放方式 * @param imageScaleType */ imageScaleType(ImageScaleType imageScaleType) imageScaleType: EXACTLY :图像将完全按比例缩小的目标大小 EXACTLY_STRETCHED:图片会缩放到目标大小完全 IN_SAMPLE_INT:图像将被二次采样的整数倍 IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小 NONE:图片不会调整 /** *DisplayImageOptions简单示例 */ // 创建默认的DisplayImageOptions DisplayImageOptions option_0=DisplayImageOptions.createSimple(); // 使用DisplayImageOptions.Builder()创建DisplayImageOptions DisplayImageOptions options = new DisplayImageOptions.Builder() .imageScaleType(ImageScaleType.EXACTLY_STRETCHED) .showStubImage(R.drawable.loading) .showImageForEmptyUri(R.drawable.load_fail) .showImageOnFail(R.drawable.load_fail) .cacheInMemory(true) .cacheOnDisc(true) .build();
5.最后别忘了权限
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
相关文章推荐
- Android 使用图片异步加载框架Universal Image Loader的问题
- Android图片异步加载框架Android-Universal-Image-Loader
- Android--Universal-Image-Loader异步图片加载框架封装思路及实现
- 图片异步加载框架 Android-Universal-Image-Loader
- Android图片异步加载框架Android-Universal-Image-Loader
- 图片异步加载框架 Android-Universal-Image-Loader
- 【Android】图片异步加载三方框架Universal Image Loader详细配置
- Android-Universal-Image-Loader异步加载图片框架学习研究
- Android图片异步加载框架Android-Universal-Image-Loader
- 图片异步加载框架 Android-Universal-Image-Loader
- Android图片异步加载框架Android-Universal-Image-Loader
- Android-Universal-Image-Loader异步加载图片框架学习研究
- 异步加载图片框架Android-Universal-Image-Loader的使用
- Android-Universal-Image-Loader异步加载图片框架学习研究
- Android图片异步加载框架Android-Universal-Image-Loader
- 图片异步加载框架 Android-Universal-Image-Loader
- Android图片异步加载框架Android-Universal-Image-Loader
- 图片异步加载框架 Android-Universal-Image-Loader
- Android图片异步加载框架Android-Universal-Image-Loader
- Android图片异步加载框架Universal Image Loader的源码分析