当前位置: 首页>>代码示例>>Java>>正文


Java DataFetcher.cleanup方法代码示例

本文整理汇总了Java中com.bumptech.glide.load.data.DataFetcher.cleanup方法的典型用法代码示例。如果您正苦于以下问题:Java DataFetcher.cleanup方法的具体用法?Java DataFetcher.cleanup怎么用?Java DataFetcher.cleanup使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.bumptech.glide.load.data.DataFetcher的用法示例。


在下文中一共展示了DataFetcher.cleanup方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: decodeFromData

import com.bumptech.glide.load.data.DataFetcher; //导入方法依赖的package包/类
private <Data> Resource<R> decodeFromData(DataFetcher<?> fetcher, Data data,
    DataSource dataSource) throws GlideException {
  try {
    if (data == null) {
      return null;
    }
    long startTime = LogTime.getLogTime();
    Resource<R> result = decodeFromFetcher(data, dataSource);
    if (Log.isLoggable(TAG, Log.VERBOSE)) {
      logWithTimeAndKey("Decoded result " + result, startTime);
    }
    return result;
  } finally {
    fetcher.cleanup();
  }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:17,代码来源:DecodeJob.java

示例2: onDataFetcherFailed

import com.bumptech.glide.load.data.DataFetcher; //导入方法依赖的package包/类
@Override
public void onDataFetcherFailed(Key attemptedKey, Exception e, DataFetcher<?> fetcher,
    DataSource dataSource) {
  fetcher.cleanup();
  GlideException exception = new GlideException("Fetching data failed", e);
  exception.setLoggingDetails(attemptedKey, dataSource, fetcher.getDataClass());
  exceptions.add(exception);
  if (Thread.currentThread() != currentThread) {
    runReason = RunReason.SWITCH_TO_SOURCE_SERVICE;
    callback.reschedule(this);
  } else {
    runGenerators();
  }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:15,代码来源:DecodeJob.java

示例3: cleanup

import com.bumptech.glide.load.data.DataFetcher; //导入方法依赖的package包/类
@Override
public void cleanup() {
  exceptionListPool.release(exceptions);
  exceptions = null;
  for (DataFetcher<Data> fetcher : fetchers) {
    fetcher.cleanup();
  }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:9,代码来源:MultiModelLoader.java

示例4: onDataFetcherFailed

import com.bumptech.glide.load.data.DataFetcher; //导入方法依赖的package包/类
@Override
public void onDataFetcherFailed(Key attemptedKey, Exception e, DataFetcher<?> fetcher,
    DataSource dataSource) {
  fetcher.cleanup();
  GlideException exception = new GlideException("Fetching data failed", e);
  exception.setLoggingDetails(attemptedKey, dataSource, fetcher.getDataClass());
  throwables.add(exception);
  if (Thread.currentThread() != currentThread) {
    runReason = RunReason.SWITCH_TO_SOURCE_SERVICE;
    callback.reschedule(this);
  } else {
    runGenerators();
  }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:15,代码来源:DecodeJob.java

示例5: cleanup

import com.bumptech.glide.load.data.DataFetcher; //导入方法依赖的package包/类
@Override
public void cleanup() {
  if (exceptions != null) {
    throwableListPool.release(exceptions);
  }
  exceptions = null;
  for (DataFetcher<Data> fetcher : fetchers) {
    fetcher.cleanup();
  }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:11,代码来源:MultiModelLoader.java

示例6: run

import com.bumptech.glide.load.data.DataFetcher; //导入方法依赖的package包/类
@Override
public void run() {
  // This should be much more fine grained, but since Java's thread pool implementation silently
  // swallows all otherwise fatal exceptions, this will at least make it obvious to developers
  // that something is failing.
  TraceCompat.beginSection("DecodeJob#run");
  // Methods in the try statement can invalidate currentFetcher, so set a local variable here to
  // ensure that the fetcher is cleaned up either way.
  DataFetcher<?> localFetcher = currentFetcher;
  try {
    if (isCancelled) {
      notifyFailed();
      return;
    }
    runWrapped();
  } catch (Throwable t) {
    // Catch Throwable and not Exception to handle OOMs. Throwables are swallowed by our
    // usage of .submit() in GlideExecutor so we're not silently hiding crashes by doing this. We
    // are however ensuring that our callbacks are always notified when a load fails. Without this
    // notification, uncaught throwables never notify the corresponding callbacks, which can cause
    // loads to silently hang forever, a case that's especially bad for users using Futures on
    // background threads.
    if (Log.isLoggable(TAG, Log.DEBUG)) {
      Log.d(TAG, "DecodeJob threw unexpectedly"
          + ", isCancelled: " + isCancelled
          + ", stage: " + stage, t);
    }
    // When we're encoding we've already notified our callback and it isn't safe to do so again.
    if (stage != Stage.ENCODE) {
      throwables.add(t);
      notifyFailed();
    }
    if (!isCancelled) {
      throw t;
    }
  } finally {
    // Keeping track of the fetcher here and calling cleanup is excessively paranoid, we call
    // close in all cases anyway.
    if (localFetcher != null) {
      localFetcher.cleanup();
    }
    TraceCompat.endSection();
  }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:45,代码来源:DecodeJob.java


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