如何在Flutter中更改或替换ImageCache?

Set*_*add 8 dart flutter

我想在我的Flutter应用程序中更改ImageCache的行为.例如,我想尝试不同的驱逐策略.或者,我只想要零缓存(用于实验).

如何更换以更改ImageCache?

Ian*_*son 9

创建一个继承自WidgetsFlutterBinding的类.覆盖该类上的createImageCache以返回您选择的ImageCache实现.在调用runApp之前调用该类的构造函数.


每个应用程序有一个绑定.创建的第一个绑定(BindingBase的子类)将成为该绑定.调用runApp()实例化WidgetsFlutterBinding绑定,这通常是你想要的.WidgetsFlutterBinding混合的一个类是PaintingBinding,它引入了createImageCache作为一种让你覆盖图像缓存的方法.它调用该方法,并将全局imageCache设置为该方法返回的任何内容.