繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM