• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ResourceEncoder类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.bumptech.glide.load.ResourceEncoder的典型用法代码示例。如果您正苦于以下问题:Java ResourceEncoder类的具体用法?Java ResourceEncoder怎么用?Java ResourceEncoder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ResourceEncoder类属于com.bumptech.glide.load包,在下文中一共展示了ResourceEncoder类的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: onSizeReady

import com.bumptech.glide.load.ResourceEncoder; //导入依赖的package包/类
@Override
public void onSizeReady(int width, int height) {
    if (isCancelled) {
        return;
    }

    width = Math.round(sizeMultiplier * width);
    height = Math.round(sizeMultiplier * height);
    ResourceDecoder<InputStream, Z> cacheDecoder = loadProvider.getCacheDecoder();
    ResourceDecoder<T, Z> decoder = loadProvider.getSourceDecoder();
    ResourceEncoder <Z> encoder = loadProvider.getEncoder();
    ResourceTranscoder<Z, R> transcoder = loadProvider.getTranscoder();
    ModelLoader<A, T> modelLoader = loadProvider.getModelLoader();

    final String id = modelLoader.getId(model);
    final DataFetcher<T> dataFetcher = modelLoader.getResourceFetcher(model, width, height);

    loadedFromMemoryCache = true;
    loadStatus = engine.load(id, width, height, cacheDecoder, dataFetcher, decoder, transformation,
            encoder, transcoder, priority, isMemoryCacheable, this);
    loadedFromMemoryCache = resource != null;
}
 
开发者ID:The-WebOps-Club,项目名称:saarang-iosched,代码行数:23,代码来源:GenericRequest.java


示例2: get

import com.bumptech.glide.load.ResourceEncoder; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Nullable
public synchronized <Z> ResourceEncoder<Z> get(Class<Z> resourceClass) {
  int size = encoders.size();
  for (int i = 0; i < size; i++) {
    Entry<?> entry = encoders.get(i);
    if (entry.handles(resourceClass)) {
      return (ResourceEncoder<Z>) entry.encoder;
    }
  }
  // TODO: throw an exception here?
  return null;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:14,代码来源:ResourceEncoderRegistry.java


示例3: getResultEncoder

import com.bumptech.glide.load.ResourceEncoder; //导入依赖的package包/类
public <X> ResourceEncoder<X> getResultEncoder(Resource<X> resource)
    throws NoResultEncoderAvailableException {
  ResourceEncoder<X> resourceEncoder = resourceEncoderRegistry.get(resource.getResourceClass());
  if (resourceEncoder != null) {
    return resourceEncoder;
  }
  throw new NoResultEncoderAvailableException(resource.getResourceClass());
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:9,代码来源:Registry.java


示例4: SourceResourceRunner

import com.bumptech.glide.load.ResourceEncoder; //导入依赖的package包/类
public SourceResourceRunner(Key key, int width, int height, DataFetcher<T> dataFetcher,
        ResourceDecoder<T, Z> decoder, Transformation<Z> transformation, ResourceEncoder<Z> encoder,
        ResourceTranscoder<Z, R> transcoder, DiskCache diskCache, Priority priority, ResourceCallback cb) {
    this.key = key;
    this.width = width;
    this.height = height;
    this.fetcher = dataFetcher;
    this.decoder = decoder;
    this.transformation = transformation;
    this.encoder = encoder;
    this.transcoder = transcoder;
    this.diskCache = diskCache;
    this.priority = priority;
    this.cb = cb;
}
 
开发者ID:The-WebOps-Club,项目名称:saarang-iosched,代码行数:16,代码来源:SourceResourceRunner.java


示例5: EngineKey

import com.bumptech.glide.load.ResourceEncoder; //导入依赖的package包/类
public EngineKey(String id, int width, int height, ResourceDecoder cacheDecoder, ResourceDecoder decoder,
        Transformation transformation, ResourceEncoder encoder, ResourceTranscoder transcoder) {
    this.id = id;
    this.width = width;
    this.height = height;
    this.cacheDecoder = cacheDecoder;
    this.decoder = decoder;
    this.transformation = transformation;
    this.encoder = encoder;
    this.transcoder = transcoder;
}
 
开发者ID:The-WebOps-Club,项目名称:saarang-iosched,代码行数:12,代码来源:EngineKey.java


示例6: load

import com.bumptech.glide.load.ResourceEncoder; //导入依赖的package包/类
/**
 *
 * @param id A unique id for the model, dimensions, cache decoder, decoder, and encoder
 * @param cacheDecoder
 * @param fetcher
 * @param decoder
 * @param encoder
 * @param transcoder
 * @param priority
 * @param <T> The type of data the resource will be decoded from.
 * @param <Z> The type of the resource that will be decoded.
 * @param <R> The type of the resource that will be transcoded from the decoded resource.
 */
public <T, Z, R> LoadStatus load(String id, int width, int height, ResourceDecoder<InputStream, Z> cacheDecoder,
        DataFetcher<T> fetcher, ResourceDecoder<T, Z> decoder,  Transformation<Z> transformation,
        ResourceEncoder<Z> encoder, ResourceTranscoder<Z, R> transcoder, Priority priority,
        boolean isMemoryCacheable, ResourceCallback cb) {

    Key key = keyFactory.buildKey(id, width, height, cacheDecoder, decoder, transformation, encoder, transcoder);

    Resource cached = cache.get(key);
    if (cached != null) {
        cached.acquire(1);
        cb.onResourceReady(cached);
        return null;
    }

    ResourceRunner current = runners.get(key);
    if (current != null) {
        EngineJob job = current.getJob();
        job.addCallback(cb);
        return new LoadStatus(cb, job);
    }

    ResourceRunner<Z, R> runner = factory.build(key, width, height, cacheDecoder, fetcher, decoder, transformation,
            encoder, transcoder, priority, isMemoryCacheable, this);
    runner.getJob().addCallback(cb);
    runners.put(key, runner);
    runner.queue();
    return new LoadStatus(cb, runner.getJob());
}
 
开发者ID:The-WebOps-Club,项目名称:saarang-iosched,代码行数:42,代码来源:Engine.java


示例7: build

import com.bumptech.glide.load.ResourceEncoder; //导入依赖的package包/类
@Override
public <T, Z, R> ResourceRunner<Z, R> build(Key key, int width, int height,
        ResourceDecoder<InputStream, Z> cacheDecoder, DataFetcher<T> fetcher, ResourceDecoder<T, Z> decoder,
        Transformation<Z> transformation, ResourceEncoder<Z> encoder, ResourceTranscoder<Z, R> transcoder,
        Priority priority, boolean isMemoryCacheable, EngineJobListener listener) {

    EngineJob engineJob = new EngineJob(key, memoryCache, mainHandler, isMemoryCacheable, listener);

    SourceResourceRunner<T, Z, R> sourceRunner = new SourceResourceRunner<T, Z, R>(key, width, height, fetcher,
            decoder, transformation, encoder, transcoder, diskCache, priority, engineJob);

    return new ResourceRunner<Z, R>(key, width, height, diskCache, cacheDecoder, transcoder, sourceRunner, service,
            bgHandler, engineJob);
}
 
开发者ID:The-WebOps-Club,项目名称:saarang-iosched,代码行数:15,代码来源:DefaultResourceRunnerFactory.java


示例8: getEncoder

import com.bumptech.glide.load.ResourceEncoder; //导入依赖的package包/类
@Override
public ResourceEncoder<Z> getEncoder() {
    if (encoder != null) {
        return encoder;
    } else {
        return parent.getEncoder();
    }
}
 
开发者ID:The-WebOps-Club,项目名称:saarang-iosched,代码行数:9,代码来源:ChildLoadProvider.java


示例9: BitmapDrawableEncoder

import com.bumptech.glide.load.ResourceEncoder; //导入依赖的package包/类
public BitmapDrawableEncoder(BitmapPool bitmapPool, ResourceEncoder<Bitmap> encoder) {
  this.bitmapPool = bitmapPool;
  this.encoder = encoder;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:5,代码来源:BitmapDrawableEncoder.java


示例10: getResultEncoder

import com.bumptech.glide.load.ResourceEncoder; //导入依赖的package包/类
<Z> ResourceEncoder<Z> getResultEncoder(Resource<Z> resource) {
  return glideContext.getRegistry().getResultEncoder(resource);
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:4,代码来源:DecodeHelper.java


示例11: onResourceDecoded

import com.bumptech.glide.load.ResourceEncoder; //导入依赖的package包/类
@Override
public Resource<Z> onResourceDecoded(Resource<Z> decoded) {
  Class<Z> resourceSubClass = getResourceClass(decoded);
  Transformation<Z> appliedTransformation = null;
  Resource<Z> transformed = decoded;
  if (dataSource != DataSource.RESOURCE_DISK_CACHE) {
    appliedTransformation = decodeHelper.getTransformation(resourceSubClass);
    transformed = appliedTransformation.transform(glideContext, decoded, width, height);
  }
  // TODO: Make this the responsibility of the Transformation.
  if (!decoded.equals(transformed)) {
    decoded.recycle();
  }

  final EncodeStrategy encodeStrategy;
  final ResourceEncoder<Z> encoder;
  if (decodeHelper.isResourceEncoderAvailable(transformed)) {
    encoder = decodeHelper.getResultEncoder(transformed);
    encodeStrategy = encoder.getEncodeStrategy(options);
  } else {
    encoder = null;
    encodeStrategy = EncodeStrategy.NONE;
  }

  Resource<Z> result = transformed;
  boolean isFromAlternateCacheKey = !decodeHelper.isSourceKey(currentSourceKey);
  if (diskCacheStrategy.isResourceCacheable(isFromAlternateCacheKey, dataSource,
      encodeStrategy)) {
    if (encoder == null) {
      throw new Registry.NoResultEncoderAvailableException(transformed.get().getClass());
    }
    final Key key;
    if (encodeStrategy == EncodeStrategy.SOURCE) {
      key = new DataCacheKey(currentSourceKey, signature);
    } else if (encodeStrategy == EncodeStrategy.TRANSFORMED) {
      key = new ResourceCacheKey(currentSourceKey, signature, width, height,
          appliedTransformation, resourceSubClass, options);
    } else {
      throw new IllegalArgumentException("Unknown strategy: " + encodeStrategy);
    }

    LockedResource<Z> lockedResult = LockedResource.obtain(transformed);
    deferredEncodeManager.init(key, encoder, lockedResult);
    result = lockedResult;
  }
  return result;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:48,代码来源:DecodeJob.java


示例12: init

import com.bumptech.glide.load.ResourceEncoder; //导入依赖的package包/类
@SuppressWarnings("unchecked")
<X> void init(Key key, ResourceEncoder<X> encoder, LockedResource<X> toEncode) {
  this.key = key;
  this.encoder = (ResourceEncoder<Z>) encoder;
  this.toEncode = (LockedResource<Z>) toEncode;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:7,代码来源:DecodeJob.java


示例13: add

import com.bumptech.glide.load.ResourceEncoder; //导入依赖的package包/类
public synchronized <Z> void add(Class<Z> resourceClass, ResourceEncoder<Z> encoder) {
  encoders.add(new Entry<>(resourceClass, encoder));
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:4,代码来源:ResourceEncoderRegistry.java


示例14: Entry

import com.bumptech.glide.load.ResourceEncoder; //导入依赖的package包/类
Entry(Class<T> resourceClass, ResourceEncoder<T> encoder) {
  this.resourceClass = resourceClass;
  this.encoder = encoder;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:5,代码来源:ResourceEncoderRegistry.java


示例15: register

import com.bumptech.glide.load.ResourceEncoder; //导入依赖的package包/类
public <TResource> Registry register(Class<TResource> resourceClass,
    ResourceEncoder<TResource> encoder) {
  resourceEncoderRegistry.add(resourceClass, encoder);
  return this;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:6,代码来源:Registry.java


示例16: onResourceDecoded

import com.bumptech.glide.load.ResourceEncoder; //导入依赖的package包/类
@Override
public Resource<Z> onResourceDecoded(Resource<Z> decoded) {
  Class<Z> resourceSubClass = getResourceClass(decoded);
  Transformation<Z> appliedTransformation = null;
  Resource<Z> transformed = decoded;
  if (dataSource != DataSource.RESOURCE_DISK_CACHE) {
    appliedTransformation = decodeHelper.getTransformation(resourceSubClass);
    transformed = appliedTransformation.transform(glideContext, decoded, width, height);
  }
  // TODO: Make this the responsibility of the Transformation.
  if (!decoded.equals(transformed)) {
    decoded.recycle();
  }

  final EncodeStrategy encodeStrategy;
  final ResourceEncoder<Z> encoder;
  if (decodeHelper.isResourceEncoderAvailable(transformed)) {
    encoder = decodeHelper.getResultEncoder(transformed);
    encodeStrategy = encoder.getEncodeStrategy(options);
  } else {
    encoder = null;
    encodeStrategy = EncodeStrategy.NONE;
  }

  Resource<Z> result = transformed;
  boolean isFromAlternateCacheKey = !decodeHelper.isSourceKey(currentSourceKey);
  if (diskCacheStrategy.isResourceCacheable(isFromAlternateCacheKey, dataSource,
      encodeStrategy)) {
    if (encoder == null) {
      throw new Registry.NoResultEncoderAvailableException(transformed.get().getClass());
    }
    final Key key;
    if (encodeStrategy == EncodeStrategy.SOURCE) {
      key = new DataCacheKey(currentSourceKey, signature);
    } else if (encodeStrategy == EncodeStrategy.TRANSFORMED) {
      key =
          new ResourceCacheKey(
              decodeHelper.getArrayPool(),
              currentSourceKey,
              signature,
              width,
              height,
              appliedTransformation,
              resourceSubClass,
              options);
    } else {
      throw new IllegalArgumentException("Unknown strategy: " + encodeStrategy);
    }

    LockedResource<Z> lockedResult = LockedResource.obtain(transformed);
    deferredEncodeManager.init(key, encoder, lockedResult);
    result = lockedResult;
  }
  return result;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:56,代码来源:DecodeJob.java


示例17: append

import com.bumptech.glide.load.ResourceEncoder; //导入依赖的package包/类
public synchronized <Z> void append(Class<Z> resourceClass, ResourceEncoder<Z> encoder) {
  encoders.add(new Entry<>(resourceClass, encoder));
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:4,代码来源:ResourceEncoderRegistry.java



注:本文中的com.bumptech.glide.load.ResourceEncoder类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ClassNotPersistenceCapableException类代码示例发布时间:2022-05-22
下一篇:
Java ResolverFactory类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap