首页 > 解决方案 > Glide 4 - ModelLoader 上下文

问题描述

我们如何在 Glide 4 中获得context自定义?ModelLoader我们不应该contextModelLoaderFactory

注册表需要一个工厂:

public void registerComponents(@NonNull Context context, @NonNull Glide glide, Registry registry) {
    registry.append(MetadataTest.class, InputStream.class, new RawModelLoaderFactory(context));
}

build不能接受上下文:

public ModelLoader<MetadataTest, InputStream> build(@NonNull MultiModelLoaderFactory multiFactory) {
    return new RawModelLoader(context);
}

所以在创建过程中没有上下文ModelLoader

RawModelLoader(context)
                 ^^^ How would we get this?

文档清楚地提到将 a 存储contextModelLoader not ModelLoaderFactory中,但我看不出没有另一个怎么可能。我需要它的原因context是为了肮脏的被上帝遗弃的新加坡武装部队。

标签: androidandroid-glide

解决方案


由于 Glide 会在应用程序的整个生命周期内持续存在,因此可以使用applicationContext.

https://github.com/bumptech/glide/issues/3061


推荐阅读