public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
//Fresco.initialize(this);
Fresco.initialize(this,ImagePipelineConfig.newBuilder(App.this)
.setMainDiskCacheConfig(
DiskCacheConfig.newBuilder(this)
//磁盘缓存路劲
.setBaseDirectoryPath(new File(Environment.getExternalStorageDirectory().getAbsolutePath()))
//设置一个缓存大小
.setMaxCacheSize(10*1024*1024)
.build()
)
.build()
);
}
//缓存大小
private static int MAX_MEM = 30 * ByteConstants.MB;
//设置 内存
@RequiresApi(api = Build.VERSION_CODES.N)
private ImagePipelineConfig getConfigureCaches(Context context) {
final MemoryCacheParams bitmapCacheParams = new MemoryCacheParams(
MAX_MEM,// 内存缓存中总图片的最大大小,以字节为单位。
Integer.MAX_VALUE,// 内存缓存中图片的最大数量。
MAX_MEM,// 内存缓存中准备清除但尚未被删除的总图片的最大大小,以字节为单位。
Integer.MAX_VALUE,// 内存缓存中准备清除的总图片的最大数量。
Integer.MAX_VALUE);// 内存缓存中单个图片的最大大小。
Supplier<MemoryCacheParams> mSupplierMemoryCacheParams = new Supplier<MemoryCacheParams>() {
@Override
public MemoryCacheParams get() {
return bitmapCacheParams;
}
};
ImagePipelineConfig.Builder builder = ImagePipelineConfig.newBuilder(context);
builder.setBitmapMemoryCacheParamsSupplier((com.facebook.common.internal.Supplier<MemoryCacheParams>) mSupplierMemoryCacheParams);
return builder.build();
}
}
Fresco 的缓存
最新推荐文章于 2022-08-24 15:05:38 发布