Github地址
https://github.com/nostra13/Android-Universal-Image-Loader
基础配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| DisplayImageOptions options = new DisplayImageOptions.Builder() .showImageOnLoading(R.mipmap.ic_launcher) .showImageForEmptyUri(R.mipmap.ic_launcher) .showImageOnFail(R.mipmap.ic_launcher) .resetViewBeforeLoading() .cacheInMemory(true) .cacheOnDisk(true) .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) .bitmapConfig(Bitmap.Config.RGB_565) .delayBeforeLoading(500) .extraForDownloader(null) .considerExifParams(true) .build();
ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this) .memoryCacheExtraOptions(1080, 1920) .diskCacheExtraOptions(1080, 1920, null) .threadPoolSize(3) .threadPriority(Thread.NORM_PRIORITY - 2) .denyCacheImageMultipleSizesInMemory() .tasksProcessingOrder(QueueProcessingType.FIFO) .memoryCacheSize(1024*1024*50) .memoryCacheSizePercentage(20) .diskCacheSize(1024*1024*50) .diskCacheFileCount(50) .defaultDisplayImageOptions(options) .writeDebugLogs() .build(); ImageLoader.getInstance().init(configuration);
|
简单使用
1 2 3 4 5
| ImageLoader.getInstance().loadImage(...);
ImageLoader.getInstance().displayImage(...);
ImageLoader.getInstance().loadImageSync(...);
|
支持的Scheme
显示图片所使用的uri:
1 2 3 4 5 6
| String imageUri = "http://site.com/image.png"; String imageUri = "https://site.com/image.png"; String imageUri = "file:///mnt/sdcard/image.png"; String imageUri = "content://media/external/audio/albumart/13"; String imageUri = "assets://image.png"; String imageUri = "drawable://" + R.drawable.image;
|
注意:
使用drawable://除非你真的需要他。时刻要注意使用本地图片加载方法:setImageResource带代替ImageLoader。