Glide 4 - ModelLoader上下文

时间:2018-04-28 18:29:31

标签: android android-glide

我们如何在Glide 4中获得context自定义ModelLoader?我们不应将context存储在ModelLoaderFactory

注册表需要工厂:

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?

文档清楚地提到将context存储在ModelLoader 而不是 ModelLoaderFactory中,但是如果没有其他人,我无法看到一个是怎样的。我需要context的原因是为了肮脏的上帝抛弃的SAF。

1 个答案:

答案 0 :(得分:0)

由于Glide在应用程序的生存期内一直存在,因此可以使用applicationContext

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