ImageLoader的使用 和扩展

原创 2018年04月16日 18:46:29


public class MainActivity extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ImageView imageView=findViewById(R.id.img);


        //自定义图片的缓存路径
        File cacheDir=new File( Environment.getExternalStorageDirectory().getPath()+"/abc");


        //1.初使化
//        ImageLoaderConfiguration configuration=ImageLoaderConfiguration.createDefault(this);
        ImageLoaderConfiguration configuration=new ImageLoaderConfiguration.Builder(this)
                .memoryCacheExtraOptions(480, 800) // default = device screen dimensions 内存缓存文件的最大长宽
                .diskCacheExtraOptions(480, 800, null)  // 本地缓存的详细信息(缓存的最大长宽),最好不要设置这个
                 .threadPoolSize(3) // default  线程池内加载的数量
                .threadPriority(Thread.NORM_PRIORITY - 2) // default 设置当前线程的优先级
                .tasksProcessingOrder(QueueProcessingType.FIFO) // default
                .denyCacheImageMultipleSizesInMemory()
                .memoryCache(new LruMemoryCache(2 * 1024 * 1024)) //可以通过自己的内存缓存实现
                .memoryCacheSize(2 * 1024 * 1024)  // 内存缓存的最大值
                .memoryCacheSizePercentage(13) // default
                .diskCache(new UnlimitedDiscCache(cacheDir)) // default 可以自定义缓存路径
                .diskCacheSize(50 * 1024 * 1024) // 50 Mb sd卡(本地)缓存的最大值
                .diskCacheFileCount(100)  // 可以缓存的文件数量
                // default为使用HASHCODE对UIL进行加密命名, 还可以用MD5(new Md5FileNameGenerator())加密
                .diskCacheFileNameGenerator(new HashCodeFileNameGenerator())
                .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default
                .writeDebugLogs() // 打印debug log
                .build();
        ImageLoader.getInstance().init(configuration);








        //2.显示配置
        //DisplayImageOptions imageOptions=DisplayImageOptions.createSimple();


        DisplayImageOptions imageOptions=new DisplayImageOptions.Builder()
                .cacheInMemory(true)//使用内存缓存
                .cacheOnDisk(true)//使用磁盘缓存
                .showImageOnLoading(R.mipmap.ic_launcher)//设置正在下载的图片
                .showImageForEmptyUri(R.mipmap.ic_launcher)//url为空或请求的资源不存在时
                .showImageOnFail(R.mipmap.ic_launcher)//下载失败时显示的图片
                .bitmapConfig(Bitmap.Config.RGB_565)//设置图片色彩模式  1px=2个字节  ARGB_8888 1px=4个字节   ARGB_4444 1px=2个字节  ALPHA_8 1px=1个字节
                .imageScaleType(ImageScaleType.EXACTLY)//设置图片的缩放模式
                .displayer(new RoundedBitmapDisplayer(100))//设置图片的圆角 注意:控件必须要设定宽度与高度
                .build();








        //3.下载图片
        ImageLoader.getInstance().displayImage(
                "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1507587322735&di=f9178e70b29b4d4f3f99244700064d99&imgtype=0&src=http%3A%2F%2Fattachments.gfan.com%2Fforum%2F201606%2F24%2F2340578lqll23i231cn3i4.jpg",
                imageView,
                imageOptions);


















    }
}

ImageLoader用法详解

ImageLoader是一个加载图片的开源框架,其基本功能为加载本地和网络图片。 github地址:https://github.com/nostra13/Android-Universal-Imag...
  • wl1769127285
  • wl1769127285
  • 2016-10-11 12:19:54
  • 1958

UniversalImageLoader的用法总结

转载请注明出处:http://blog.csdn.net/crazy1235/article/details/51471280UIL的功能及优点 UIL的使用 具体配置 滚动时暂定加载作为图片加载类库...
  • crazy1235
  • crazy1235
  • 2017-04-20 22:41:25
  • 2699

Android中使用ImageLoader加载图片

Android上让人头疼的莫过于从网络上获取图片,然后显示图片,最后还要考虑到图片的回收问题,这之间只要有任何一个环节有问题都可能直接OOM。尤其在需要展示图片的列表页面,会加载大量网络上的图片,每当...
  • csdnzouqi
  • csdnzouqi
  • 2016-09-12 18:04:57
  • 3879

Universal-Image-Loader 使用详解

UIL出来也很久了,网上的使用方法大多不全,或者是基于老的版本而来的,有必要做些更新了。因此,下文内容,将基于:v1.9.5版本描述。以下内容翻译自 Android-Universal-Image-...
  • watermusicyes
  • watermusicyes
  • 2016-03-29 17:36:05
  • 4508

开源框架ImageLoader初始化配置

android图片异步加载开源框架Android-Universal-Image-Loader 是一个被广泛应用的框架,Github上的下载路径为:https://github.com/nostra1...
  • true100
  • true100
  • 2015-04-02 17:50:52
  • 3401

使用ImageLoader时的基本配置和需要注意的点

环境Android studio2.1.1 dependencies配置compile 'com.nostra13.universalimageloader:universal-image-lo...
  • wutianchi1
  • wutianchi1
  • 2016-10-09 09:53:38
  • 299

使用ImageLoader图片加载框架加载一张网络图片

  • 2016年03月03日 17:57
  • 1.46MB
  • 下载

IntelliJ/Android Studio中项目引用ImageLoader资源库的方法

打开你的项目,左上角点击File选项,然后选中Project Structure项然后选中Dependencies,点击右侧的添加图标。点击了添加图标后会出现如下图所示三个选项,此时选中第一个Libr...
  • csdnzouqi
  • csdnzouqi
  • 2017-04-26 20:12:17
  • 852

ImageLoader三级缓存实现简单分析

ImageLoader分为三级缓存 一级缓存:强引用缓存(内存) 内存溢出,都不会回收(这里设定为20张)。 二级缓存:弱引用缓存(内存) 内存不足的时候回收 (超过20张)。 三级缓存:本地缓存(硬...
  • qianke_92
  • qianke_92
  • 2017-05-23 18:05:47
  • 723

ImageLoader简单分析(三)

其实对于缓存的实现原理及其流程总的来说都很简单,无非就是先从网络加载相关资源,然后用内存缓存或者磁盘缓存把下载到的资源缓存起来;等再次加载相同的资源的时候如果内存缓存或者磁盘缓存还存在就用缓存里面的资...
  • chunqiuwei
  • chunqiuwei
  • 2016-07-16 01:27:43
  • 3597
收藏助手
不良信息举报
您举报文章:ImageLoader的使用 和扩展
举报原因:
原因补充:

(最多只允许输入30个字)