ImagLoader基础加载

来源:互联网 发布:宿州市淘宝运营招聘 编辑:程序博客网 时间:2024/06/06 17:32

MyApplication.Java   记得加网络权限,内存写入权限,记得再xml文件中将类加入进去;

public class MyApplication extends Application {      @Override      public void onCreate() {          super.onCreate();            File cachefile=getExternalCacheDir();            ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this)                .memoryCacheExtraOptions(480, 800)// max width, max height,即保存的每个缓存文件的最大长宽                .discCacheExtraOptions(480, 800, null)// 设置缓存的详细信息,最好不要设置这个                .threadPoolSize(3)// 线程池内加载的数量                .threadPriority(Thread.NORM_PRIORITY - 2)                .denyCacheImageMultipleSizesInMemory()                .memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024))//你可以通过自己的内存缓存实现                .memoryCacheSize(2 * 1024 * 1024)                .discCacheSize(50 * 1024 * 1024)                .discCacheFileNameGenerator(new Md5FileNameGenerator())// 将保存的时候的URI名称用MD5 加密                .tasksProcessingOrder(QueueProcessingType.LIFO)                .discCacheFileCount(100)// 缓存的文件数量                .discCache(new UnlimitedDiscCache(new File(Environment.getExternalStorageDirectory()                                + "/myApp/imgCache")))// 自定义缓存路径                .defaultDisplayImageOptions(getDisplayOptions())//这句话调用下边的方法将设置保存到类中                .imageDownloader(new BaseImageDownloader(this, 5 * 1000, 30 * 1000))                .writeDebugLogs() // Remove for release app                .build();// 开始构建            ImageLoader.getInstance().init(configuration);      }  }           //通过这个方法可以设置下载期间显示的图片透明度等等          private DisplayImageOptions getDisplayOptions() {        DisplayImageOptions options = new DisplayImageOptions.Builder()                .showImageOnLoading(R.drawable.ic_launcher) // 设置图片在下载期间显示的图片                .showImageForEmptyUri(R.drawable.ic_launcher)// 设置图片Uri为空或是错误的时候显示的图片                .showImageOnFail(R.drawable.ic_launcher) // 设置图片加载/解码过程中错误时候显示的图片                .cacheInMemory(true)// 设置下载的图片是否缓存在内存中                .cacheOnDisc(true)// 设置下载的图片是否缓存在SD卡中                .considerExifParams(true) // 是否考虑JPEG图像EXIF参数(旋转,翻转)                .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)// 设置图片以如何的编码方式显示                .bitmapConfig(Bitmap.Config.RGB_565)// 设置图片的解码类型//                // .delayBeforeLoading(int delayInMillis)//int                // delayInMillis为你设置的下载前的延迟时间                // 设置图片加入缓存前,对bitmap进行设置                // .preProcessor(BitmapProcessor preProcessor)                .resetViewBeforeLoading(true)// 设置图片在下载前是否重置,复位                .displayer(new RoundedBitmapDisplayer(20))// 是否设置为圆角,弧度为多少                .displayer(new FadeInBitmapDisplayer(100))// 是否图片加载好后渐入的动画时间                .build();// 构建完成        return options;    }