android 网络加载库,Android 网络图片加载缓存处理库ImageLoader和Picasso(示例代码)

1 package com.zhang.imageloaderdemo;2

3 import android.app.Application;4 import android.graphics.Bitmap;5 import android.os.Environment;6

7 import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;8 import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;9 import com.nostra13.universalimageloader.cache.memory.impl.UsingFreqLimitedMemoryCache;10 import com.nostra13.universalimageloader.core.DisplayImageOptions;11 import com.nostra13.universalimageloader.core.ImageLoader;12 import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;13 import com.nostra13.universalimageloader.core.assist.ImageScaleType;14 import com.nostra13.universalimageloader.core.assist.QueueProcessingType;15 import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;16 import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;17 import com.nostra13.universalimageloader.core.download.BaseImageDownloader;18 import com.nostra13.universalimageloader.core.download.ImageDownloader;19

20 import java.io.File;21 import java.io.IOException;22 import java.io.InputStream;23

24 /**25 * Created by Mr.Z on 2016/9/25 0025.26 */

27 public classMyApplication extends Application {28

29 @Override30 public voidonCreate() {31 super.onCreate();32

33 ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this)34 .memoryCacheExtraOptions(480, 800)//max width, max height,即保存的每个缓存文件的最大长宽

35 .discCacheExtraOptions(480, 800, null)//设置缓存的详细信息,最好不要设置这个

36 .threadPoolSize(3)//线程池内加载的数量

37 .threadPriority(Thread.NORM_PRIORITY - 2)38 .denyCacheImageMultipleSizesInMemory()39 .memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024))//你可以通过自己的内存缓存实现

40 .memoryCacheSize(2 * 1024 * 1024)41 .diskCacheSize(50 * 1024 * 1024)42 .discCacheFileNameGenerator(new Md5FileNameGenerator())//将保存的时候的URI名称用MD5 加密

43 .tasksProcessingOrder(QueueProcessingType.FIFO)44 .discCacheFileCount(100)//缓存的文件数量

45 .discCache(new UnlimitedDiscCache(new File(Environment.getExternalStorageDirectory() + "/imageLoader/imgCache")))//自定义缓存路径

46 .defaultDisplayImageOptions(getDisplayOptions())47 .imageDownloader(new BaseImageDownloader(this, 5 * 1000, 30 * 1000))48 .writeDebugLogs()49 .build();//开始构建

50

51 ImageLoader.getInstance().init(configuration);52

53 }54

55 privateDisplayImageOptions getDisplayOptions() {56

57 DisplayImageOptions options;58 options = newDisplayImageOptions.Builder()59 .showImageOnLoading(R.mipmap.ic_launcher)//设置图片在下载期间显示的图片

60 .showImageForEmptyUri(R.mipmap.ic_launcher)//设置图片Uri为空或是错误的时候显示的图片

61 .showImageOnFail(R.mipmap.ic_launcher)//设置图片加载/解码过程中错误时候显示的图片

62 .cacheInMemory(true)//设置下载的图片是否缓存在内存中

63 .cacheOnDisk(true)//设置下载的图片是否缓存在SD卡中

64 .considerExifParams(true)//是否考虑JPEG图像EXIF参数(旋转,翻转)

65 .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)//设置图片以如何的编码方式显示

66 .bitmapConfig(Bitmap.Config.RGB_565)//设置图片的解码类型67 //.delayBeforeLoading(int delayInMillis)//设置的下载前的延迟时间68 //.preProcessor(BitmapProcessor preProcessor)//设置图片加入缓存前,对bitmap进行设置

69 .resetViewBeforeLoading(true)//设置图片在下载前是否重置,复位

70 .displayer(new RoundedBitmapDisplayer(20))//是否设置为圆角,弧度为多少

71 .displayer(new FadeInBitmapDisplayer(100))//是否图片加载好后渐入的动画时间

72 .build();73

74 returnoptions;75 }76

77

78 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值