Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

能不能把 library 中的 ProgressAppGlideModule 类改成继承 LibraryGlideModule #41

Closed
flyjiang2014 opened this issue Apr 26, 2018 · 1 comment

Comments

@flyjiang2014
Copy link

能不能把 library 中的 ProgressAppGlideModule 类改成继承 LibraryGlideModule, 因为 可能使用的时候项目需要配置自己的 GlideModule 类,以下是官方文档的建议

程序库 (Libraries)
程序库如果需要注册定制组件,例如 ModelLoader,可按以下步骤执行:
添加一个或多个 LibraryGlideModule 实现,以注册新的组件。
为每个 LibraryGlideModule 实现,添加 @GlideModule 注解。
添加 Glide 的注解处理器的依赖。
一个 [LibraryGlideModule] 的例子,在 Glide 的OkHttp 集成库 中:

@GlideModule
public final class OkHttpLibraryGlideModule extends LibraryGlideModule {
@OverRide
public void registerComponents(Context context, Glide glide, Registry registry) {
registry.replace(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory());
}
}
使用 GlideModule 注解需要使用 Glide 注解的依赖:

compile 'com.github.bumptech.glide:annotations:4.6.1'
避免在程序库中使用 AppGlideModule
程序库一定 不要 包含 AppGlideModule 实现。这么做将会阻止依赖该库的任何应用程序管理它们的依赖,或配置诸如 Glide 缓存大小和位置之类的选项。

此外,如果两个程序库都包含 AppGlideModule,应用程序将无法在同时依赖两个库的情况下通过编译,而不得不在二者之中做出取舍。

这确实意味着程序库将无法使用 Glide 的 generated API,但是使用 RequestOptions 加载仍然有效

@sunfusheng
Copy link
Owner

因为暂时用generated API的原因,下版本改掉,欢迎体验V2.0.0版本

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants