ImageLoader加载图片

来源:互联网 发布:mac系统怎么改用户名 编辑:程序博客网 时间:2024/06/05 19:02


//APP类

package com.bwie.imglr;import android.app.Application;import com.nostra13.universalimageloader.cache.memory.impl.UsingFreqLimitedMemoryCache;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import com.nostra13.universalimageloader.core.assist.QueueProcessingType;import com.nostra13.universalimageloader.core.download.BaseImageDownloader;/** * author:Created by WangZhiQiang on 2017/9/7. */public class App extends Application {    @Override    public void onCreate() {        super.onCreate();        ImageLoaderConfiguration config = new ImageLoaderConfiguration                .Builder(this)                .memoryCacheExtraOptions(480, 800) // max width, max height,即保存的每个缓存文件的最大长宽                .threadPoolSize(5)//线程池内加载的数量                .threadPriority(Thread.NORM_PRIORITY - 2)                .denyCacheImageMultipleSizesInMemory()                .memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024)) // You can pass your own memory cache implementation/你可以通过自己的内存缓存实现                .memoryCacheSize(2 * 1024 * 1024)                .tasksProcessingOrder(QueueProcessingType.LIFO)                .defaultDisplayImageOptions(DisplayImageOptions.createSimple())                .imageDownloader(new BaseImageDownloader(this, 5 * 1000, 30 * 1000)) // connectTimeout (5 s), readTimeout (30 s)超时时间                .writeDebugLogs() // Remove for release app                .build();//开始构建        //初始化ImageLoader        ImageLoader.getInstance().init(config);    }}

//MainActivity类

package com.bwie.imglr;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.ImageView;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;public class MainActivity extends AppCompatActivity {    String imgs[] = {            "http://img.my.csdn.net/uploads/201407/26/1406383264_8243.jpg",            "http://img.my.csdn.net/uploads/201407/26/1406383248_3693.jpg",            "http://img.my.csdn.net/uploads/201407/26/1406383243_5120.jpg",            "http://img.my.csdn.net/uploads/201407/26/1406383242_3127.jpg",            "http://img.my.csdn.net/uploads/201407/26/1406383242_9576.jpg",            "http://img.my.csdn.net/uploads/201407/26/1406383242_1721.jpg",            "http://img.my.csdn.net/uploads/201407/26/1406383219_5806.jpg",            "http://img.my.csdn.net/uploads/201407/26/1406383214_7794.jpg",            "http://img.my.csdn.net/uploads/201407/26/1406383213_4418.jpg",            "http://img.my.csdn.net/uploads/201407/26/1406383213_3557.jpg",            "http://img.my.csdn.net/uploads/201407/26/1406383210_8779.jpg",            "http://img.my.csdn.net/uploads/201407/26/1406383172_4577.jpg",            "http://img.my.csdn.net/uploads/201407/26/1406383166_3407.jpg",            "http://img.my.csdn.net/uploads/201407/26/1406383166_2224.jpg"    };    private ImageView img;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        img = (ImageView) findViewById(R.id.img);        //得到imageLoader实例        ImageLoader instance = ImageLoader.getInstance();        DisplayImageOptions imageLoader = new DisplayImageOptions.Builder()                .showImageOnFail(R.mipmap.ic_launcher)//加载失败时显示的图片                .showImageOnLoading(R.mipmap.ic_launcher)//加载时等待时显示的图片                .showImageForEmptyUri(R.mipmap.ic_launcher)//设置图片为空或URL出错时显示的图片                .build();        instance.displayImage(imgs[1], img);    }}