类com.bumptech.glide.load.DecodeFormat源码实例Demo

下面列出了怎么用com.bumptech.glide.load.DecodeFormat的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: giffun   文件: VideoBitmapDecoder.java

@Override
public Bitmap decode(ParcelFileDescriptor resource, BitmapPool bitmapPool, int outWidth, int outHeight,
        DecodeFormat decodeFormat)
        throws IOException {
    MediaMetadataRetriever mediaMetadataRetriever = factory.build();
    mediaMetadataRetriever.setDataSource(resource.getFileDescriptor());
    Bitmap result;
    if (frame >= 0) {
      result = mediaMetadataRetriever.getFrameAtTime(frame);
    } else {
      result = mediaMetadataRetriever.getFrameAtTime();
    }
    mediaMetadataRetriever.release();
    resource.close();
    return result;
}
 
源代码2 项目: giffun   文件: BitmapPreFiller.java

@SuppressWarnings("deprecation")
public void preFill(PreFillType.Builder... bitmapAttributeBuilders) {
    if (current != null) {
        current.cancel();
    }

    PreFillType[] bitmapAttributes = new PreFillType[bitmapAttributeBuilders.length];
    for (int i = 0; i < bitmapAttributeBuilders.length; i++) {
        PreFillType.Builder builder = bitmapAttributeBuilders[i];
        if (builder.getConfig() == null) {
            builder.setConfig(
                    defaultFormat == DecodeFormat.ALWAYS_ARGB_8888 || defaultFormat == DecodeFormat.PREFER_ARGB_8888
                    ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565);
        }
        bitmapAttributes[i] = builder.build();
    }

    PreFillQueue allocationOrder = generateAllocationOrder(bitmapAttributes);
    current = new BitmapPreFillRunner(bitmapPool, memoryCache, allocationOrder);
    handler.post(current);
}
 
源代码3 项目: XKnife-Android   文件: XGlideModule.java

@Override
public void applyOptions(Context context, GlideBuilder builder) {

    //设置图片解码格式
    builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);

    //设置内存缓存大小
    int maxMemory = (int) Runtime.getRuntime().maxMemory();//获取系统分配给应用的总内存大小
    int memoryCacheSize = maxMemory / 8;//设置图片内存缓存占用八分之一
    builder.setMemoryCache(new LruResourceCache(memoryCacheSize));
    builder.setBitmapPool(new LruBitmapPool(memoryCacheSize));

    // 存放路径和缓存控件大小
    int diskCacheSize = 1024 * 1024 * 30;
    builder.setDiskCache(new InternalCacheDiskCacheFactory(context, diskCacheName, diskCacheSize));  // data/data/xx/cache/
    builder.setDiskCache(new ExternalCacheDiskCacheFactory(context, diskCacheName, diskCacheSize));  //存放在外置文件浏览器
}
 
源代码4 项目: ImageLoader   文件: GlideModelConfig.java

@Override
public void applyOptions(Context context, GlideBuilder builder) {
    if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.N ) {
        builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);
    }else {
        builder.setDecodeFormat(DecodeFormat.PREFER_RGB_565);
    }//解决rgb565部分手机上出现绿色问题
    //比较耗时,所以反向设置
   /* builder.setDiskCache(new DiskLruCacheFactory(new File(context.getCacheDir(), GlobalConfig.cacheFolderName).getAbsolutePath(),
            GlobalConfig.cacheMaxSize*1024*1024));*/
    Log.i("glide","applyOptions---");

   /* builder.setResizeService(new FifoPriorityThreadPoolExecutor(4))
            .setDiskCacheService(new FifoPriorityThreadPoolExecutor(4));*/

}
 

@NonNull
private Bitmap.Config getDecodeFormat(@Nullable Options options) {
    DecodeFormat decodeFormat = options == null ? null : options.get(GifOptions.DECODE_FORMAT);
    if (decodeFormat == null) {
        return Bitmap.Config.ARGB_8888;
    }

    switch (decodeFormat) {
        case PREFER_RGB_565:
            return Bitmap.Config.RGB_565;

        case PREFER_ARGB_8888:
        default:
            return Bitmap.Config.ARGB_8888;
    }
}
 

@Override public void applyOptions(Context context, GlideBuilder builder) {

    builder.setDefaultRequestOptions(RequestOptions.formatOf(DecodeFormat.PREFER_RGB_565));
    // disk cache config
    //builder.setDiskCache(new ExternalCacheDiskCacheFactory(context));
    // using defaults

    MemorySizeCalculator calculator = new MemorySizeCalculator.Builder(context).build();

    // size for memory cache
    int defaultMemoryCacheSize = calculator.getMemoryCacheSize();
    builder.setMemoryCache(new LruResourceCache(defaultMemoryCacheSize));

    // size for bitmap pool
    int defaultBitmapPoolSize = calculator.getBitmapPoolSize();
    builder.setBitmapPool(new LruBitmapPool(defaultBitmapPoolSize));
  }
 
源代码7 项目: glide-support   文件: TestFragment.java

@Override protected void load(Context context) throws Exception {
	String url = "http://www.online-image-editor.com//styles/2014/images/example_image.png";
	String url2 =
			"http://a5.mzstatic.com/us/r30/Purple5/v4/5a/2e/e9/5a2ee9b3-8f0e-4f8b-4043-dd3e3ea29766/icon128-2x.png";
	BitmapRequestBuilder<String, Bitmap> request = Glide
			.with(context)
			.load(url)
			.asBitmap()
			.format(DecodeFormat.PREFER_ARGB_8888)
			.thumbnail(Glide
					.with(context)
					.load(url2)
					.asBitmap()
			);
	loadProper(request);
	loadHacky(request);
	loadHackyAlt(request);
}
 

@Override public void onAttach(Context context) {
	super.onAttach(context);
	BitmapPool pool = Glide.get(context).getBitmapPool();
	StreamBitmapDecoder bitmapDecoder = new StreamBitmapDecoder(Downsampler.AT_LEAST, pool, DecodeFormat.DEFAULT);
	paletteLoad = Glide
			.with(this)
			.using(new StreamUriLoader(context), InputStream.class)
			.from(Uri.class)
			.as(PaletteBitmap.class)
			.diskCacheStrategy(DiskCacheStrategy.ALL)
			.encoder(new PaletteBitmapEncoder(new BitmapEncoder(), new PaletteEncoder()))
			.sourceEncoder(new StreamEncoder())
			.cacheDecoder(new FileToStreamDecoder<>(
					new PaletteBitmapDecoder(pool, bitmapDecoder, new PaletteDecoder())))
			.dontAnimate()
			.skipMemoryCache(true) // debug to always go for disk
	;
}
 

@Override public void onAttach(Context context) {
	super.onAttach(context);
	paletteLoad = Glide
			.with(this)
			.using(new StreamUriLoader(context), InputStream.class)
			.from(Uri.class)
			.as(Palette.class)
			.diskCacheStrategy(DiskCacheStrategy.ALL)
			.encoder(new PaletteCacheEncoder(new PaletteEncoder()))
			.sourceEncoder(new StreamEncoder())
			.cacheDecoder(new FileToStreamDecoder<>(
					new PaletteCacheDecoder(new PaletteDecoder(), new StreamBitmapDecoder(
							Downsampler.AT_MOST, Glide.get(context).getBitmapPool(), DecodeFormat.DEFAULT))))
			.override(256, 256) // rough size of the Bitmap to generate Palette from 
			.dontTransform() // default, but be explicit
			.dontAnimate() // default, but be explicit
			.skipMemoryCache(true) // debug to always go for disk
	;
}
 
源代码10 项目: GankGirl   文件: GlideConfiguration.java

@Override
public void applyOptions(final Context context, GlideBuilder builder) {
    builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);// Bitmap格式转换到ARGB_8888
    //内存缓存
    MemorySizeCalculator memorySizeCalculator = new MemorySizeCalculator(context);
    int defaultMemoryCacheSize = memorySizeCalculator.getMemoryCacheSize();
    int defalutBitmapPoolSize = memorySizeCalculator.getBitmapPoolSize();
    builder.setMemoryCache(new LruResourceCache((int) (defalutBitmapPoolSize * 1.2)));//内部
    builder.setBitmapPool(new LruBitmapPool((int) (defalutBitmapPoolSize * 1.2)));
    //磁盘缓存
    builder.setDiskCache(new InternalCacheDiskCacheFactory(context, 1024 * 1024 * 10));//内部磁盘缓存
    builder.setDiskCache(new ExternalCacheDiskCacheFactory(context, 10 * 1024 * 1024));//磁盘缓存到外部存储
    //指定缓存目录1
    String downLoadPath = Environment.getDownloadCacheDirectory().getPath();
    builder.setDiskCache(new DiskLruCacheFactory(downLoadPath, defaultMemoryCacheSize));
    //指定缓存目录2
    builder.setDiskCache(new DiskCache.Factory() {
        @Override
        public DiskCache build() {
            File cacheLocation = new File(FileUtils.getCacheDir(context), "GlideCache");
            return DiskLruCacheWrapper.get(cacheLocation, 1024 * 1024 * 10);
        }
    });

}
 
源代码11 项目: Silence   文件: BitmapUtil.java

private static <T> Bitmap createScaledBitmapInto(Context context, T model, int width, int height)
    throws BitmapDecodingException
{
  final Bitmap rough = Downsampler.AT_LEAST.decode(getInputStreamForModel(context, model),
                                                   Glide.get(context).getBitmapPool(),
                                                   width, height,
                                                   DecodeFormat.PREFER_RGB_565);

  final Resource<Bitmap> resource = BitmapResource.obtain(rough, Glide.get(context).getBitmapPool());
  final Resource<Bitmap> result   = new FitCenter(context).transform(resource, width, height);

  if (result == null) {
    throw new BitmapDecodingException("unable to transform Bitmap");
  }
  return result.get();
}
 
源代码12 项目: MoeGallery   文件: GalleryAdapter.java

void bind(int position) {
    mPosition = position;
    mImage = mImageDataSource.get(position);

    if (mImage.getFileUrl() != null && Utils.isGif(mImage.getFileUrl())) {
        gifTag.setVisibility(VISIBLE);
    } else {
        gifTag.setVisibility(GONE);
    }

    mRequestManager.load(mImage.getPreviewUrl())
            .asBitmap()
            .format(DecodeFormat.PREFER_RGB_565)
            .diskCacheStrategy(DiskCacheStrategy.ALL)
            .placeholder(R.color.gray_overlay)
            .fitCenter().centerCrop().into(imageView);
}
 
源代码13 项目: hipda   文件: MyGlideModule.java

@Override
public void applyOptions(@NonNull Context context, @NonNull GlideBuilder gb) {
    String cacheSizeStr = HiSettingsHelper.getInstance().getStringValue(HiSettingsHelper.PERF_CACHE_SIZE_IN_MB, DEFAULT_CACHE_SIZE + "");
    int cacheSize = DEFAULT_CACHE_SIZE;
    if (TextUtils.isDigitsOnly(cacheSizeStr)) {
        cacheSize = Integer.parseInt(cacheSizeStr);
        if (cacheSize < MIN_CACHE_SIZE) {
            cacheSize = DEFAULT_CACHE_SIZE;
        }
    }
    gb.setDiskCache(new ExternalPreferredCacheDiskCacheFactory(context, cacheSize * 1024 * 1024));
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M)
        gb.setDefaultRequestOptions(new RequestOptions().format(DecodeFormat.PREFER_RGB_565));

    GlideHelper.initDefaultFiles();
}
 
源代码14 项目: giffun   文件: Downsampler.java

private Bitmap downsampleWithSize(MarkEnforcingInputStream is, RecyclableBufferedInputStream  bufferedStream,
        BitmapFactory.Options options, BitmapPool pool, int inWidth, int inHeight, int sampleSize,
        DecodeFormat decodeFormat) {
    // Prior to KitKat, the inBitmap size must exactly match the size of the bitmap we're decoding.
    Bitmap.Config config = getConfig(is, decodeFormat);
    options.inSampleSize = sampleSize;
    options.inPreferredConfig = config;
    if ((options.inSampleSize == 1 || Build.VERSION_CODES.KITKAT <= Build.VERSION.SDK_INT) && shouldUsePool(is)) {
        int targetWidth = (int) Math.ceil(inWidth / (double) sampleSize);
        int targetHeight = (int) Math.ceil(inHeight / (double) sampleSize);
        // BitmapFactory will clear out the Bitmap before writing to it, so getDirty is safe.
        setInBitmap(options, pool.getDirty(targetWidth, targetHeight, config));
    }
    return decodeStream(is, bufferedStream, options);
}
 
源代码15 项目: youqu_master   文件: ImageLoaderUtils.java

public static void displayBigPhoto(Context context, ImageView imageView, String url) {
    if (imageView == null) {
        throw new IllegalArgumentException("argument error");
    }
    Glide.with(context).load(url).asBitmap()
            .format(DecodeFormat.PREFER_ARGB_8888)
            .diskCacheStrategy(DiskCacheStrategy.ALL)
            .placeholder(R.drawable.ic_image_loading)
            .error(R.drawable.ic_empty_picture)
            .into(imageView);
}
 

@Override
public void applyOptions(Context context, GlideBuilder builder) {
    builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);
    File cacheDir = new File(context.getCacheDir(), DiskCache.Factory.DEFAULT_DISK_CACHE_DIR);
    cache = DiskLruCacheWrapper.get(cacheDir, DiskCache.Factory.DEFAULT_DISK_CACHE_SIZE);
    builder.setDiskCache(new DiskCache.Factory() {
        @Override
        public DiskCache build() {
            return cache;
        }
    });
}
 
源代码17 项目: Common   文件: AbstractGlideModule.java

@Override
public void applyOptions(Context context, GlideBuilder builder) {
    builder.setDefaultRequestOptions(new RequestOptions().format(DecodeFormat.PREFER_RGB_565))
            .setDiskCache(new ExternalCacheDiskCacheFactory(context, getCachePath(), 1024 * 1024 * 1024))
            .setMemoryCache(new LruResourceCache(3 * 1024 * 1024))
            .setBitmapPool(new LruBitmapPool(3 * 1024 * 1024));
}
 

@Override
public void applyOptions(Context context, GlideBuilder builder) {
    builder.setDefaultRequestOptions(new RequestOptions().format(DecodeFormat.PREFER_RGB_565));
    int memoryCacheSizeBytes = 1024 * 1024 * 20;
    builder.setMemoryCache(new LruResourceCache(memoryCacheSizeBytes));
    int bitmapPoolSizeBytes = 1024 * 1024 * 30;
    builder.setBitmapPool(new LruBitmapPool(bitmapPoolSizeBytes));
    int diskCacheSizeBytes = 1024 * 1024 * 100;
    builder.setDiskCache(new InternalCacheDiskCacheFactory(context, diskCacheSizeBytes));
}
 

@Override
public void displayImage(View view, ImageItem item, int size, boolean isThumbnail) {
    Object object = item.getUri() != null ? item.getUri() : item.path;
    Glide.with(view.getContext()).load(object).apply(new RequestOptions()
            .format(isThumbnail ? DecodeFormat.PREFER_RGB_565 : DecodeFormat.PREFER_ARGB_8888))
            .override(isThumbnail ? size : Target.SIZE_ORIGINAL)
            .into((ImageView) view);
}
 
源代码20 项目: YImagePicker   文件: RedBookPresenter.java

@Override
public void displayImage(View view, ImageItem item, int size, boolean isThumbnail) {
    Object object = item.getUri() != null ? item.getUri() : item.path;

    Glide.with(view.getContext()).load(object).apply(new RequestOptions()
            .format(isThumbnail ? DecodeFormat.PREFER_RGB_565 : DecodeFormat.PREFER_ARGB_8888))
            .override(isThumbnail ? size : Target.SIZE_ORIGINAL)
            .into((ImageView) view);
}
 

@Override
public void displayImage(View view, ImageItem item, int size, boolean isThumbnail) {
    Object object = item.getUri() != null ? item.getUri() : item.path;

    Glide.with(view.getContext()).load(object).apply(new RequestOptions()
            .format(isThumbnail ? DecodeFormat.PREFER_RGB_565 : DecodeFormat.PREFER_ARGB_8888))
            .override(isThumbnail ? size : Target.SIZE_ORIGINAL)
            .into((ImageView) view);
}
 
源代码22 项目: YImagePicker   文件: RedBookPresenter.java

@Override
public void displayImage(View view, ImageItem item, int size, boolean isThumbnail) {
    Object object = item.getUri() != null ? item.getUri() : item.path;

    Glide.with(view.getContext()).load(object).apply(new RequestOptions()
            .format(isThumbnail ? DecodeFormat.PREFER_RGB_565 : DecodeFormat.PREFER_ARGB_8888))
            .override(isThumbnail ? size : Target.SIZE_ORIGINAL)
            .into((ImageView) view);
}
 
源代码23 项目: MVVM-JueJin   文件: GlideConfig.java

@Override
    public void applyOptions(Context context, GlideBuilder builder) {
        builder
                // 下面三项都是默认的, 不必设置
//                .setMemoryCache(new LruResourceCache(MEMORY_CACHE_SIZE))
//                .setBitmapPool(new LruBitmapPool(MEMORY_CACHE_SIZE))
                // 默认 rgb565
                .setDecodeFormat(DecodeFormat.PREFER_ARGB_8888)
                .setDiskCache(new InternalCacheDiskCacheFactory(context, DISK_CACHE_SIZE));
    }
 
源代码24 项目: TestChat   文件: OkHttpGlideModule.java

@Override
public void applyOptions(Context context, GlideBuilder builder) {
    builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);

    MemorySizeCalculator calculator = new MemorySizeCalculator(context);
    int defaultMemoryCacheSize = calculator.getMemoryCacheSize();
    int defaultBitmapPoolSize = calculator.getBitmapPoolSize();

    int customMemoryCacheSize = (int) (1.2 * defaultMemoryCacheSize);
    int customBitmapPoolSize = (int) (1.2 * defaultBitmapPoolSize);

    builder.setMemoryCache(new LruResourceCache(customMemoryCacheSize));
    builder.setBitmapPool(new LruBitmapPool(customBitmapPoolSize));
}
 
源代码25 项目: ImageLoader   文件: Glide4Loader.java

private RequestOptions buildOptions(SingleConfig config) {
    RequestOptions options = new RequestOptions()
            .format(DecodeFormat.PREFER_RGB_565)
            .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
            .skipMemoryCache(GlobalConfig.debug)
            .transform(getBitmapTransFormations(config));
    return options;
}
 
源代码26 项目: Android   文件: GlideModelConfig.java

@Override
public void applyOptions(Context context, GlideBuilder builder) {
    // Define cache size and location
    builder.setDiskCache(new InternalCacheDiskCacheFactory(context, diskSize));  //Mobile disk
    //builder.setDiskCache(new ExternalCacheDiskCacheFactory(context, "cache", diskSize)); //sdcard disk

    // The custom memory pool size and pictures
    builder.setMemoryCache(new LruResourceCache(memorySize));
    builder.setBitmapPool(new LruBitmapPool(memorySize));

    // Define the image format
    //builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);
    builder.setDecodeFormat(DecodeFormat.PREFER_RGB_565);
}
 
源代码27 项目: DMusic   文件: AbstractGlideModule.java

@Override
public void applyOptions(Context context, GlideBuilder builder) {
    builder.setDefaultRequestOptions(new RequestOptions().format(DecodeFormat.PREFER_RGB_565))
            .setDiskCache(new ExternalCacheDiskCacheFactory(context, getCachePath(), 1024 * 1024 * 1024))
            .setMemoryCache(new LruResourceCache(3 * 1024 * 1024))
            .setBitmapPool(new LruBitmapPool(3 * 1024 * 1024));
}
 

@Override
public void applyOptions(Context context, GlideBuilder builder) {
    builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);

    MemorySizeCalculator calculator = new MemorySizeCalculator(context);
    int defaultMemoryCacheSize = calculator.getMemoryCacheSize();
    int defaultBitmapPoolSize = calculator.getBitmapPoolSize();

    int customMemoryCacheSize = (int) (1.2 * defaultMemoryCacheSize);
    int customBitmapPoolSize = (int) (1.2 * defaultBitmapPoolSize);

    builder.setMemoryCache(new LruResourceCache(customMemoryCacheSize));
    builder.setBitmapPool(new LruBitmapPool(customBitmapPoolSize));
}
 
源代码29 项目: aptoide-client-v8   文件: ImageLoader.java

@SuppressLint("CheckResult") @NonNull private RequestOptions getRequestOptions() {
  RequestOptions requestOptions = new RequestOptions();
  DecodeFormat decodeFormat;
  if (Build.VERSION.SDK_INT >= 26) {
    decodeFormat = DecodeFormat.PREFER_ARGB_8888;
    requestOptions.disallowHardwareConfig();
  } else {
    decodeFormat = DecodeFormat.PREFER_RGB_565;
  }
  return requestOptions.format(decodeFormat)
      .diskCacheStrategy(DiskCacheStrategy.RESOURCE);
}
 
源代码30 项目: glide-support   文件: TestFragment.java

@Override protected void load(Context context) throws Exception {
	String url = "https://s3.amazonaws.com/timeset-photos/RackMultipart20151217-4907-vnn7er.jpeg";
	url = "https://cloud.githubusercontent.com/assets/2364583/11941136/528db8a0-a7e2-11e5-9327-d6cc11548c91.JPG";
	Glide
			.with(context)
			.load(url)
			.asBitmap()
			.format(DecodeFormat.PREFER_ARGB_8888)
			.skipMemoryCache(true)
			.diskCacheStrategy(DiskCacheStrategy.RESULT)
			.into(imageView);
}
 
 类所在包
 同包方法