- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
从 Gilde 3.7.0 迁移到 Glide 4.9.0。
如下定义我的 MyAppGlideModule。
@GlideModule
public class MyAppGlideModule extends AppGlideModule {
private static final int IMAGE_DISK_CACHE_MAX_SIZE = 250 * 1024 * 1024;
@Override
public void applyOptions(@NonNull final Context context, @NonNull GlideBuilder builder) {
super.applyOptions(context, builder);
builder.setDiskCache(new DiskLruCacheFactory(
FileUtils.getCacheFile(context, false).getAbsolutePath() + File.separator + GLIDE_CACHE_PATH,
IMAGE_DISK_CACHE_MAX_SIZE));
// builder.setMemoryCache(new LruResourceCache(customMemoryCacheSize));
builder.setDefaultRequestOptions(new RequestOptions().format(DecodeFormat.PREFER_ARGB_8888));
}
@Override
public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
// super.registerComponents(context, glide, registry);
OkHttpClient client = new OkHttpClient();
client.newBuilder().connectTimeout(15, TimeUnit.SECONDS)
.addNetworkInterceptor(new TSImageRetryIntercepter(3))
.readTimeout(15, TimeUnit.SECONDS);
OkHttpUrlLoader.Factory factory = new OkHttpUrlLoader.Factory(client);
registry.replace(GlideUrl.class, InputStream.class, factory);
}
@Override
public boolean isManifestParsingEnabled() {
return false;
}
}
当我运行如下加载图像的代码时
Glide.with(mContext)
.load(imageBean.getGlideUrl())
.override(with, height)
.diskCacheStrategy(DiskCacheStrategy.DATA)
.dontAnimate()
.placeholder(R.drawable.shape_default_image)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.error(R.drawable.shape_default_image)
.into(view);
出现以下错误。
Process: com.my.package.debug, PID: 5561
java.lang.IllegalStateException: You cannot call Glide.get() in registerComponents(), use the provided Glide instance instead
at com.bumptech.glide.Glide.checkAndInitializeGlide(Glide.java:180)
at com.bumptech.glide.Glide.get(Glide.java:168)
at com.bumptech.glide.Glide.getRetriever(Glide.java:689)
at com.bumptech.glide.Glide.with(Glide.java:716)
at com.my.package.list.adapter.DynamicListItemForShorVideo.initVideoView(DynamicListItemForShorVideo.java:106)
at com.my.package.list.adapter.DynamicListItemForShorVideo.convert(DynamicListItemForShorVideo.java:77)
at com.my.package.list.adapter.DynamicListItemForShorVideo.convert(DynamicListItemForShorVideo.java:45)
at com.my.package.recyclerview.base.ItemViewDelegateManager.convert(ItemViewDelegateManager.java:93)
at com.my.package.recyclerview.MultiItemTypeAdapter.convert(MultiItemTypeAdapter.java:55)
at com.my.package.recyclerview.MultiItemTypeAdapter.onBindViewHolder(MultiItemTypeAdapter.java:99)
at com.my.package.recyclerview.MultiItemTypeAdapter.onBindViewHolder(MultiItemTypeAdapter.java:17)
at com.my.package.recyclerview.wrapper.HeaderAndFooterWrapper.onBindViewHolder(HeaderAndFooterWrapper.java:76)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6781)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6823)
at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5752)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6019)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5858)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5854)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2230)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1557)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1517)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:612)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3924)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3641)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4194)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at com.my.package.layout.SmartRefreshLayout.onLayout(SmartRefreshLayout.java:623)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1083)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1775)
at android.view.View.layout(View.java:20672)
at android.view.ViewGroup.layout(ViewGroup.java:6194)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1083)
最佳答案
当你使用 GlideAppModule 时,从文档中,你应该使用:
GlideApp.with(mContext)
代替:
Glide.with(mContext)
关于android - java.lang.IllegalStateException : You cannot call Glide. registerComponents() 中的 get(),改用提供的 Glide 实例 -- Glide Version 4.9.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56273689/
所以,我有一个 Python 脚本,基本上可以写入 80GB 以上的文件。目前它只是串行运行,在服务器上运行大约需要 13 个小时,这是我唯一一次实际运行它。 我打算将它并行化,以便它写入多个文件,而
我最近将 ASP.Net Web API 项目部署到我们的 Azure 应用服务测试槽,但在向 API 端点发出请求时开始收到错误。通过远程调试,很明显该应用正在从部署的 web.config 文件中
为什么我在 android 的 xml 布局中有这个警告消息 信息是避免使用“px”作为单位,改用“dp” 最佳答案 答案就在那里:What is the difference between "px
我正在使用 Symfony 2.3,并且在我的分析器中有与 Twig 相关的弃用警告。如: DEPRECATION - Using "replace" with character by charac
这个问题在这里已经有了答案: Convert pandas dataframe to NumPy array (15 个答案) 关闭 3 年前。 我有以下代码 train_X, test_X, tr
我正在尝试在 Storyboard完成后运行一些代码,但似乎找不到如何设置它...如果我只是这样做 Completed="LoadingStoryBoard_Completed" 在 Storyboa
我最近使用 ng update 更新了我的 Angular 版本并且在运行 ng lint 时 我收到错误 create is deprecated: use new Observable() ins
我将 webpacker 从 4.x 升级到 5.2.1 并开始收到此警告: The resolved_paths option has been deprecated. Use additional
我正在编译一些 C 代码,但出现错误 typedef 'A' is initialized (use decltype instead) 在我的结构声明之一。什么可能导致这种情况? 最佳答案 我可以用
打开 GUI 的简单程序,单击一个按钮设置 curDir,单击另一个按钮设置 savDir,第三个按钮执行一些 C++ 代码,类似于 ls -l curDir > savDir.txt 我的一个 Qt
我要git diff成为一个快速的命令行解决方案来查看两个文件之间的差异,然后我想要 git difftool启动 meld 以获得文件差异的更多图形 View 。 目前,git diff完全按照我的
我正在尝试构建一个 webpack 解析器,下面的 .plugin 方法代码似乎已被弃用,我找不到使用 .hooks 的类似方法调用。 module.exports = class Resolver
我最近在运行我的应用程序时开始收到此错误。它似乎不会影响一切,但它在日志中非常嘈杂和烦人。我没有对我的应用程序进行任何更改或添加任何会导致此类问题的内容,我最近所做的唯一一件事就是升级到最新版本的 F
我想用 Python mongodb 查询,但“DeprecationWarning: count is deprecated。改用 Collection.count_documents。”给出这样的
代码: export default { props: { article: {type: Object} }, data () { retur
这让我发疯。我想读取一些文本文件(位于我的项目目录之外),用 Windows-1252 编码,将它们编辑为字符串,然后写回这些文件,再次作为 Windows-1252。然而,Visual Studio
我需要一点帮助。因为 preg_replace 已弃用,我必须将所有 my preg_replace 转换为 preg_replace_callback... 我尝试过的: 改变: $template
简短的例子: #include #include using namespace boost; template BOOST_TYPEOF_TPL(T() + U()) add2(const T&
我尝试运行 Vuetify VueJS Cordova example但是在 npm run dev 之后出现了这个错误 node build/dev-server.js Starting dev s
我有以下代码: func setupShortcutItems(launchOptions: [NSObject: AnyObject]?) -> Bool { var shouldPerfo
我是一名优秀的程序员,十分优秀!