Glide 4 - ModelLoader 上下文
Glide 4 - ModelLoader context
我们如何在 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
的原因是为了肮脏的被上帝遗弃的新加坡武装部队。
由于 Glide 在应用程序的生命周期内持续存在,因此可以使用 applicationContext
。
我们如何在 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
的原因是为了肮脏的被上帝遗弃的新加坡武装部队。
由于 Glide 在应用程序的生命周期内持续存在,因此可以使用 applicationContext
。