【发布时间】:2019-10-13 21:31:44
【问题描述】:
使用 Glide 4.9.0(最新版)将图像从 StorageReference 加载到 ImageView 时出现问题。
它卡在 PlaceHolder 上.. 当我尝试放置我的参考的可下载网址时,它正在工作..
StorageReference ref = FirebaseStorage.getInstance().getReference().child("myImage")
//It's not working
Glide.with(mContext)
.load(ref)
.placeholder(R.drawable.ic_loading_circle)
.error(R.drawable.ic_loading_circle)
.into(mImageView);
//It's working
ref.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>()
{
@Override
public void onSuccess(Uri downloadUrl)
{
Glide.with(mContext)
.load(downloadUrl.toString())
.placeholder(R.drawable.ic_loading_circle)
.error(R.drawable.ic_loading_circle)
.into(mImageView);
}
});
我使用 try-catch 没有看到任何错误,我已经在 Manifest 中设置了 Internet 权限。来自drawable的其他图像也在工作
注意:我的 firebase 被 2 个应用程序使用,第一个应用程序在 Glide 上没有任何问题,但第二个应用程序出现未知问题。
任何解决方案或替代方案?因为使用 getDownloadUrl().addOnSuccessListener 获取 URI 太慢了
【问题讨论】:
-
"Glide 的任何替代方案?"在 Stack Overflow 上寻求技术推荐是题外话。但如果你把这个问题放在你最喜欢的搜索引擎中,你会发现很多选择。也就是说:调用
getDownloadUrl()的需要是一个Firebase API,与Glide 无关,所以大多数其他库也需要这一步 -
在 Glide 发挥神奇作用之前,您还需要做一件事。装载机注册。 See snippetRead it here
标签: android firebase firebase-storage android-glide