android - Glide 4 - ModelLoader 上下文
问题描述
我们如何在 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?
文档清楚地提到将 a 存储context
在ModelLoader
not ModelLoaderFactory
中,但我看不出没有另一个怎么可能。我需要它的原因context
是为了肮脏的被上帝遗弃的新加坡武装部队。
解决方案
由于 Glide 会在应用程序的整个生命周期内持续存在,因此可以使用applicationContext
.
推荐阅读
- javascript - ipfs 延长 ping 时间问题
- javascript - “index.addObject()”时的 Algolia 搜索错误
- java - 如何使用 SpringBoot 的 Swagger 中的 javax.validation.constraints 组应用约束?
- file - Delphi Windows 服务:编写文本文件
- python - 在 Django Admin 中基于属性管理模型实例的最佳方法
- javascript - 脚本被阻止:404 和“你必须启用 javascript”noscript 标记时启用 js。当我禁用 javascript 或以隐身方式打开时页面加载
- javascript - 将页面保存到 chrome.storage.sync
- vba - 如何在 MS-Access 中使用 VBA NOT 在 currentdb 中创建表
- java - 用于 SQL 查询的 String 或 StringBuilder
- python - 来自 keras 的自定义损失函数中的张量数据