我们如何在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。
答案 0 :(得分:0)
由于Glide在应用程序的生存期内一直存在,因此可以使用applicationContext
。