我正面临Glide的问题
You cannot start a load for a destroyed activity
我没有看到这次崩溃我只是报告发生这种情况,然后我检查了我的代码,我看到我写道:
public static void setImageWithGlide(Context context, String imageUrl, ImageView imageView) {
if (context != null && imageView != null)
Glide.with(context).load(imageUrl)
.dontAnimate().into(imageView);
}
所以,我做了一些阅读,看到人们正在使用
1 - Context
,就像我做的那样
2 - “应用程序上下文”,完全不是很好的理由
3 - 从View
本身获取上下文,所以在我的情况下它将成为:
public static void setImageWithGlide(String imageUrl, ImageView imageView) {
if (imageView != null && imageView.getContext() != null)
Glide.with(imageView.getContext()).load(imageUrl)
.dontAnimate().into(imageView);
}
我不知道这是否能解决问题,但为什么这种获取上下文的方式不受欢迎?不使用它的原因是什么?它还节省了传递给方法的上下文(对于我个人来说并不是那么好,因为我想知道这个方法使用上下文,我知道当我传递它时)
所以...
1。从视图中获取Context
的正确和错误案例是什么时候?
2。您是否认为有更好的方法可以通过滑行来解决这个问题?
顺便说一下,我不认为用户会看到这次崩溃,可能会在Glide内部处理。
答案 0 :(得分:0)
据此: https://android.jlelse.eu/using-glide-few-tips-to-be-a-pro-60f41e29d30a 建议使用当前活动上下文进行滑动,然后 view.getContext()返回活动的上下文(可能在大多数情况下)。因此,只需轻松地将其用于滑行