use of com.facebook.common.internal.Supplier in project teaTime by ancfdy.
the class FrescoUtils method configureCaches.
/**
* 初始化配置
* @param context
* @return
*/
private static ImagePipelineConfig configureCaches(Context context) {
// 内存配置
final MemoryCacheParams bitmapCacheParams = new MemoryCacheParams(// 内存缓存中总图片的最大大小,以字节为单位。
FrescoUtils.MAX_MEMORY_CACHE_SIZE, // 内存缓存中图片的最大数量。
Integer.MAX_VALUE, // 内存缓存中准备清除但尚未被删除的总图片的最大大小,以字节为单位。
FrescoUtils.MAX_MEMORY_CACHE_SIZE, // 内存缓存中准备清除的总图片的最大数量。
Integer.MAX_VALUE, // 内存缓存中单个图片的最大大小。
Integer.MAX_VALUE);
// 修改内存图片缓存数量,空间策略(这个方式有点恶心)
Supplier<MemoryCacheParams> mSupplierMemoryCacheParams = new Supplier<MemoryCacheParams>() {
@Override
public MemoryCacheParams get() {
return bitmapCacheParams;
}
};
// 小图片的磁盘配置
DiskCacheConfig diskSmallCacheConfig = DiskCacheConfig.newBuilder(context).setBaseDirectoryPath(// 缓存图片基路径
context.getApplicationContext().getCacheDir()).setBaseDirectoryName(// 文件夹名
IMAGE_PIPELINE_SMALL_CACHE_DIR).setMaxCacheSize(// 默认缓存的最大大小。
FrescoUtils.MAX_DISK_CACHE_SIZE).setMaxCacheSizeOnLowDiskSpace(// 缓存的最大大小,使用设备时低磁盘空间。
MAX_SMALL_DISK_LOW_CACHE_SIZE).setMaxCacheSizeOnVeryLowDiskSpace(// 缓存的最大大小,当设备极低磁盘空间
MAX_SMALL_DISK_VERYLOW_CACHE_SIZE).build();
// 默认图片的磁盘配置
DiskCacheConfig diskCacheConfig = DiskCacheConfig.newBuilder(context).setBaseDirectoryPath(// 缓存图片基路径
Environment.getExternalStorageDirectory().getAbsoluteFile()).setBaseDirectoryName(// 文件夹名
IMAGE_PIPELINE_CACHE_DIR).setMaxCacheSize(// 默认缓存的最大大小。
FrescoUtils.MAX_DISK_CACHE_SIZE).setMaxCacheSizeOnLowDiskSpace(// 缓存的最大大小,使用设备时低磁盘空间。
MAX_DISK_CACHE_LOW_SIZE).setMaxCacheSizeOnVeryLowDiskSpace(// 缓存的最大大小,当设备极低磁盘空间
MAX_DISK_CACHE_VERYLOW_SIZE).build();
// 缓存图片配置
ImagePipelineConfig.Builder configBuilder = ImagePipelineConfig.newBuilder(context).setBitmapMemoryCacheParamsSupplier(// 内存缓存配置(一级缓存,已解码的图片)
mSupplierMemoryCacheParams).setMainDiskCacheConfig(// 磁盘缓存配置(总,三级缓存)
diskCacheConfig).setSmallImageDiskCacheConfig(// 磁盘缓存配置(小图片,可选~三级缓存的小图优化缓存)
diskSmallCacheConfig);
return configBuilder.build();
}
use of com.facebook.common.internal.Supplier in project ride-read-android by Ride-Read.
the class FrescoApp method configureCaches.
/**
* 初始化配置
*/
private ImagePipelineConfig configureCaches(Context context) {
final MemoryCacheParams bitmapCacheParams = new // 内存缓存中总图片的最大大小,以字节为单位。
MemoryCacheParams(// 内存缓存中总图片的最大大小,以字节为单位。
50 * ByteConstants.MB, // 内存缓存中图片的最大数量。
500, // 内存缓存中准备清除但尚未被删除的总图片的最大大小,以字节为单位。
50 * ByteConstants.MB, // 内存缓存中准备清除的总图片的最大数量。
500, // 内存缓存中单个图片的最大大小。
5 * ByteConstants.MB);
// 修改内存图片缓存数量,空间策略(这个方式有点恶心)
// Supplier<MemoryCacheParams> mSupplierMemoryCacheParams = new Supplier<MemoryCacheParams>() {
// @Override
// public MemoryCacheParams get() {
// return bitmapCacheParams;
// }
// };
// 小图片的磁盘配置
DiskCacheConfig diskSmallCacheConfig = // 缓存图片基路径
DiskCacheConfig.newBuilder(this).setBaseDirectoryPath(new File(FRESCO_PATH)).setBaseDirectoryName(// 文件夹名
IMAGE_PIPELINE_SMALL_CACHE_DIR).setMaxCacheSize(// 默认缓存的最大大小。
MAX_SMALL_DISK_CACHE_SIZE).setMaxCacheSizeOnLowDiskSpace(// 缓存的最大大小,使用设备时低磁盘空间。
MAX_SMALL_DISK_LOW_CACHE_SIZE).setMaxCacheSizeOnVeryLowDiskSpace(// 缓存的最大大小,当设备极低磁盘空间
MAX_SMALL_DISK_VERYLOW_CACHE_SIZE).build();
// 默认图片的磁盘配置
DiskCacheConfig diskCacheConfig = // 缓存图片基路径
DiskCacheConfig.newBuilder(this).setBaseDirectoryPath(new File(FRESCO_PATH)).setBaseDirectoryName(// 文件夹名
IMAGE_PIPELINE_CACHE_DIR).setMaxCacheSize(// 默认缓存的最大大小。
MAX_DISK_CACHE_SIZE).setMaxCacheSizeOnLowDiskSpace(// 缓存的最大大小,使用设备时低磁盘空间。
MAX_DISK_CACHE_LOW_SIZE).setMaxCacheSizeOnVeryLowDiskSpace(// 缓存的最大大小,当设备极低磁盘空间
MAX_DISK_CACHE_VERYLOW_SIZE).build();
// 缓存图片配置
Supplier<MemoryCacheParams> bitmapCacheParamsSupplier = new Supplier<MemoryCacheParams>() {
@Override
public MemoryCacheParams get() {
return bitmapCacheParams;
}
};
ImagePipelineConfig.Builder configBuilder = ImagePipelineConfig.newBuilder(context).setBitmapMemoryCacheParamsSupplier(bitmapCacheParamsSupplier).setMainDiskCacheConfig(// 磁盘缓存配置(总,三级缓存)
diskCacheConfig).setSmallImageDiskCacheConfig(// 磁盘缓存配置(小图片,可选~三级缓存的小图优化缓存)
diskSmallCacheConfig);
return configBuilder.build();
}
Aggregations