picasso
Picasso http://square.github.io/picasso/Square的开源项目之一
最大特点就是你只需要一句代码:
Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);
缓存什么的设置基本可以忽略了
另外的一些诸如裁剪图片:
Picasso.with(context) .load(url) .resize(50, 50) .centerCrop() .into(imageView)
同样Picasso也支持Resources, assets, files, content providers的加载
Picasso.with(context).load(R.drawable.landing_screen).into(imageView1); Picasso.with(context).load(new File(...)).into(imageView2);
Android-Universal-Image-Loader
Android-Universal-Image-Loader https://github.com/nostra13/Android-Universal-Image-Loader
特点
多线程加载图片
尽可能多的配置选项(线程池,加载器,解析器,内存/磁盘缓存,显示参数等等)
图片可以缓存在内存中,或者设备文件目录下,或者SD卡中
可以添加图片加载监听器
可以自定义显示每一张图片时都带不同参数
支持Widget
Android 2.0以上支持
使用
1、初始化imageloader,这个方法需要在application的create调用
public static void init(Context context) { ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context) .threadPriority(Thread.NORM_PRIORITY - 2) .denyCacheImageMultipleSizesInMemory() .discCacheFileNameGenerator(new Md5FileNameGenerator()) .tasksProcessingOrder(QueueProcessingType.LIFO) .writeDebugLogs() // Remove for release app .build(); ImageLoader.getInstance().init(config); }
2.配置显示的options
DisplayImageOptions displayOption = new DisplayImageOptions.Builder() .bitmapConfig(Bitmap.Config.RGB_565) .showImageOnLoading(R.drawable.avatar_placeholder) .showImageForEmptyUri(R.drawable.avatar_placeholder) .showImageOnFail(R.drawable.avatar_placeholder) .cacheInMemory(true) .cacheOnDisc(true) .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) .displayer(new BitmapDisplayer() { @Override public void display(Bitmap bitmap, ImageAware imageAware, LoadedFrom loadedFrom) { imageAware.setImageBitmap(bitmap); } }) .build();
3.加载到view
ImageLoader.getInstance().displayImage(model.avatar, cell.avatarImageView, displayOption);
根据url获取已读的图片文件
File file1 = DiscCacheUtil.findInCache(card.avatar, imageLoader.getDiscCache());
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/app/5655.html