[英]How do I change or replace the ImageCache in Flutter?
我想在我的Flutter应用程序中更改ImageCache的行为。 例如,我想尝试不同的驱逐策略。 或者,我只想要零缓存(用于实验)。
如何更换以更改ImageCache?
创建一个继承自WidgetsFlutterBinding的类。 覆盖该类上的createImageCache以返回您选择的ImageCache实现。 在调用runApp之前调用该类的构造函数。
每个应用程序有一个绑定。 创建的第一个绑定(BindingBase的子类)将成为该绑定。 调用runApp()实例化WidgetsFlutterBinding绑定,这通常是你想要的。 WidgetsFlutterBinding混合的一个类是PaintingBinding,它引入了createImageCache作为一种让你覆盖图像缓存的方法。 它调用该方法,并将全局imageCache设置为该方法返回的任何内容。
Ian Hickson提案的代码片段:
import 'package:flutter/widgets.dart';
class CustomImageCache extends WidgetsFlutterBinding {
@override
ImageCache createImageCache() {
// Set your image cache size
this.imageCache.maximumSize = 10;
return super.createImageCache();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.