Universal-Image-Loader类库使用

详细内容参考

[Universal-Image-Loader类库使用] 
依赖:    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.4'
    1 配置config ImageLoaderConfiguration对象
    2 初始化config  实例方法init(config);
    3-1 显示默认配置的一个图片 ImageLoader.getInstance().displayImage(imageUrl, imageView); // imageUrl代表图片的URL地址,imageView代表承载图片的IMAGEVIEW控件
    3-2 显示自定义配置的图片 
        3-2-1 显示配置设置 DisplayImageOptions
        3-2-2  ImageLoader.getInstance().displayImage(imageUrl, imageView,options);//显示自定义的显示配置的图片
    4加权限:
    <uses-permission android:name="android.permission.INTERNET" />  
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


ImageLoader.getInstance()//获得实例对象(单实例)



public class ImageLoader extends Activity {
    String url = "https://img-blog.csdn.net/20161113160054311";
    ImageView viewById;
    ImageLoaderConfiguration config;//开始构建


    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        viewById = (ImageView) findViewById(R.id.imageView);

        File cacheDir = StorageUtils.getOwnCacheDirectory(getApplicationContext(), "imageloader/Cache");
        config = new ImageLoaderConfiguration
                .Builder(this)
                .memoryCacheExtraOptions(480, 800) // max width, max height,即保存的每个缓存文件的最大长宽
                .threadPoolSize(3)//线程池内加载的数量
                .threadPriority(Thread.NORM_PRIORITY - 2)
                .denyCacheImageMultipleSizesInMemory()
                .memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024)) // You can pass your own memory cache implementation/你可以通过自己的内存缓存实现
                .memoryCacheSize(2 * 1024 * 1024)
                .discCacheSize(50 * 1024 * 1024)
                .discCacheFileNameGenerator(new Md5FileNameGenerator())//将保存的时候的URI名称用MD5 加密
                .tasksProcessingOrder(QueueProcessingType.LIFO)
                .discCacheFileCount(100) //缓存的文件数量
                .discCache(new UnlimitedDiskCache(cacheDir))//自定义缓存路径
                .defaultDisplayImageOptions(DisplayImageOptions.createSimple())
                .imageDownloader(new BaseImageDownloader(this, 5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)超时时间
                .writeDebugLogs() // Remove for release app
                .build();
        ImageLoader.getInstance().init(config);
    }

    public void displayImage(View view) {
        ImageLoader.getInstance().displayImage(url, viewById);
    }
}
展开阅读全文

没有更多推荐了,返回首页