本文整理汇总了Java中com.facebook.imagepipeline.backends.okhttp3.OkHttpImagePipelineConfigFactory.newBuilder方法的典型用法代码示例。如果您正苦于以下问题:Java OkHttpImagePipelineConfigFactory.newBuilder方法的具体用法?Java OkHttpImagePipelineConfigFactory.newBuilder怎么用?Java OkHttpImagePipelineConfigFactory.newBuilder使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.facebook.imagepipeline.backends.okhttp3.OkHttpImagePipelineConfigFactory
的用法示例。
在下文中一共展示了OkHttpImagePipelineConfigFactory.newBuilder方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getOkHttpImagePipelineConfig
import com.facebook.imagepipeline.backends.okhttp3.OkHttpImagePipelineConfigFactory; //导入方法依赖的package包/类
/**
* Creates config using OkHttp as network backed.
*/
public static ImagePipelineConfig getOkHttpImagePipelineConfig(Context context) {
if (sOkHttpImagePipelineConfig == null) {
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.addNetworkInterceptor(new StethoInterceptor())
.build();
ImagePipelineConfig.Builder configBuilder =
OkHttpImagePipelineConfigFactory.newBuilder(context, okHttpClient);
configureCaches(configBuilder, context);
configureLoggingListeners(configBuilder);
sOkHttpImagePipelineConfig = configBuilder.build();
}
return sOkHttpImagePipelineConfig;
}
示例2: configureCaches
import com.facebook.imagepipeline.backends.okhttp3.OkHttpImagePipelineConfigFactory; //导入方法依赖的package包/类
/**
* ImagePipeline配置
*
* @param context context
* @param okHttpClient okHttp客户端
* @return ImagePipeline配置实例
*/
private static ImagePipelineConfig configureCaches(Context context, OkHttpClient okHttpClient, String cachePath) {
//内存配置
final MemoryCacheParams bitmapCacheParams = new MemoryCacheParams(
ConfigConstants.MAX_MEMORY_CACHE_SIZE,// 内存缓存中总图片的最大大小,以字节为单位
Integer.MAX_VALUE,// 内存缓存中图片的最大数量
ConfigConstants.MAX_MEMORY_CACHE_SIZE,// 内存缓存中准备清除但尚未被删除的总图片的最大大小,以字节为单位
Integer.MAX_VALUE,// 内存缓存中准备清除的总图片的最大数量
Integer.MAX_VALUE);// 内存缓存中单个图片的最大大小
//修改内存图片缓存数量,空间策略
Supplier<MemoryCacheParams> mSupplierMemoryCacheParams = new Supplier<MemoryCacheParams>() {
@Override
public MemoryCacheParams get() {
return bitmapCacheParams;
}
};
// String cachePath = Environment.getExternalStorageDirectory().getAbsolutePath();//获得存储路径(SDcard)
String file = "fresco";
//小图片的磁盘配置
DiskCacheConfig diskSmallCacheConfig = DiskCacheConfig.newBuilder(context)
.setBaseDirectoryPath(new File(cachePath))//缓存图片基路径
.setBaseDirectoryName(ConfigConstants.IMAGE_PIPELINE_SMALL_CACHE_DIR)//文件夹名
// .setCacheErrorLogger(cacheErrorLogger)//日志记录器用于日志错误的缓存。
// .setCacheEventListener(cacheEventListener)//缓存事件侦听器。
// .setDiskTrimmableRegistry(diskTrimmableRegistry)//类将包含一个注册表的缓存减少磁盘空间的环境。
.setMaxCacheSize(ConfigConstants.MAX_DISK_CACHE_SIZE)//默认缓存的最大大小。
.setMaxCacheSizeOnLowDiskSpace(ConfigConstants.MAX_SMALL_DISK_CACHE_LOW_SIZE)//缓存的最大大小,使用设备时低磁盘空间。
.setMaxCacheSizeOnVeryLowDiskSpace(ConfigConstants.MAX_SMALL_DISK_CACHE_VERY_LOW_SIZE)//缓存的最大大小,当设备极低磁盘空间
// .setVersion(version)
.build();
//默认图片的磁盘配置
DiskCacheConfig diskCacheConfig = DiskCacheConfig.newBuilder(context)
.setBaseDirectoryPath(new File(cachePath))//缓存图片基路径
.setBaseDirectoryName(ConfigConstants.IMAGE_PIPELINE_CACHE_DIR)//文件夹名
// .setCacheErrorLogger(cacheErrorLogger)//日志记录器用于日志错误的缓存。
// .setCacheEventListener(cacheEventListener)//缓存事件侦听器。
// .setDiskTrimmableRegistry(diskTrimmableRegistry)//类将包含一个注册表的缓存减少磁盘空间的环境。
.setMaxCacheSize(ConfigConstants.MAX_DISK_CACHE_SIZE)//默认缓存的最大大小。
.setMaxCacheSizeOnLowDiskSpace(ConfigConstants.MAX_DISK_CACHE_LOW_SIZE)//缓存的最大大小,使用设备时低磁盘空间。
.setMaxCacheSizeOnVeryLowDiskSpace(ConfigConstants.MAX_DISK_CACHE_VERY_LOW_SIZE)//缓存的最大大小,当设备极低磁盘空间
// .setVersion(version)
.build();
//缓存图片配置
ImagePipelineConfig.Builder configBuilder = null;
if (okHttpClient != null)
configBuilder = OkHttpImagePipelineConfigFactory.newBuilder(context, okHttpClient);
else
configBuilder = ImagePipelineConfig.newBuilder(context);
// .setAnimatedImageFactory(AnimatedImageFactory animatedImageFactory)//图片加载动画
configBuilder.setBitmapMemoryCacheParamsSupplier(mSupplierMemoryCacheParams)//内存缓存配置(一级缓存,已解码的图片)
// .setCacheKeyFactory(cacheKeyFactory)//缓存Key工厂
// .setEncodedMemoryCacheParamsSupplier(encodedCacheParamsSupplier)//内存缓存和未解码的内存缓存的配置(二级缓存)
// .setExecutorSupplier(executorSupplier)//线程池配置
// .setImageCacheStatsTracker(imageCacheStatsTracker)//统计缓存的命中率
// .setImageDecoder(ImageDecoder imageDecoder) //图片解码器配置
// .setIsPrefetchEnabledSupplier(Supplier<Boolean> isPrefetchEnabledSupplier)//图片预览(缩略图,预加载图等)预加载到文件缓存
.setMainDiskCacheConfig(diskCacheConfig)//磁盘缓存配置(总,三级缓存)
// .setMemoryTrimmableRegistry(memoryTrimmableRegistry) //内存用量的缩减,有时我们可能会想缩小内存用量。比如应用中有其他数据需要占用内存,不得不把图片缓存清除或者减小 或者我们想检查看看手机是否已经内存不够了。
// .setNetworkFetchProducer(networkFetchProducer)//自定的网络层配置:如OkHttp,Volley
// .setPoolFactory(poolFactory)//线程池工厂配置
.setProgressiveJpegConfig(new SimpleProgressiveJpegConfig())//渐进式JPEG图
// .setRequestListeners(requestListeners)//图片请求监听
// .setResizeAndRotateEnabledForNetwork(boolean resizeAndRotateEnabledForNetwork)//调整和旋转是否支持网络图片
.setSmallImageDiskCacheConfig(diskSmallCacheConfig);//磁盘缓存配置(小图片,可选~三级缓存的小图优化缓存)
return configBuilder.build();
}