【发布时间】:2019-02-01 00:04:49
【问题描述】:
我正在开发一个显示从我的 firebase 数据库加载的图像的应用程序。为此,我使用了 Glide。
我正在使用一个按钮,单击该按钮将打开一个新活动,其中显示从 url 获取的图像。如果 url 正确加载,图像加载完美,但如果我在两者之间取消,则应用程序崩溃。为什么会发生,还有,是否有任何选项可以使用 glide 将图像保存在缓存中,以便它可以加载一次并显示而无需从 firebase 获取它。
这是我从 url 显示图像的代码:
public void showImage(){
mStorageRef.child("TimeTable").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
url = uri.toString();
RequestOptions options = new RequestOptions().centerCrop().placeholder(R.mipmap.ic_launcher).error(R.mipmap.ic_launcher_round);
Toast.makeText(TimeTable.this, uri.toString(),Toast.LENGTH_SHORT).show();
Glide.with(TimeTable.this).load(url).apply(options).into(image);
}
});
}
这是错误日志,当我在图像完全加载之前关闭活动时..
请询问是否需要更多详细信息。
【问题讨论】:
-
请包含您的错误日志
-
你使用的是哪个版本的 glide
-
@Badran 错误日志已添加。我正在使用 Glide 4.8.0
-
“但如果我在这两者之间取消,应用程序就会崩溃”。什么意思,能不能显示取消请求的代码?
-
不是你的glide问题而是你的编程逻辑,你销毁后调用load方法
标签: java android firebase firebase-storage android-glide