Android 为什么使用View.getContext()不流行?
我正面临一个与Glide有关的问题Android 为什么使用View.getContext()不流行?,android,image,asynchronous,android-lifecycle,android-glide,Android,Image,Asynchronous,Android Lifecycle,Android Glide,我正面临一个与Glide有关的问题 You cannot start a load for a destroyed activity 我没有看到这个崩溃我只是报告了这一情况,然后我检查了我的代码,我看到我写了: public static void setImageWithGlide(Context context, String imageUrl, ImageView imageView) { if (context != null && imageView != n
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-上下文
,就像我做的那样
2-“应用程序上下文”,由于许多原因,这根本不是一个好主意
3-从视图
本身获取上下文,因此在我的情况下,它将变成:
public static void setImageWithGlide(String imageUrl, ImageView imageView) {
if (imageView != null && imageView.getContext() != null)
Glide.with(imageView.getContext()).load(imageUrl)
.dontAnimate().into(imageView);
}
我不知道这是否能解决问题,但为什么这种获取上下文的方式不受欢迎呢?不使用它的原因是什么?它还为我保存了传递给方法的上下文(这对我个人来说不是很好,因为我很想知道这个方法使用的是上下文,我在传递它时就知道了)
所以
一,。什么时候是从视图中获取上下文的正确案例和错误案例?
2.你认为有更好的方法来解决这个问题吗
顺便说一句,我不认为用户看到这一崩溃可能是在Glide内部处理的。根据这一点:
建议对glide使用当前活动上下文,并查看。getContext()返回活动的上下文(可能大多数情况下)。因此,只需根据以下内容轻松地将其用于滑翔:
建议对glide使用当前活动上下文,并查看。getContext()返回活动的上下文(可能大多数情况下)。因此,只需简单地将其用于glide如果您因活动被终止而面临此问题,则任何getContext也将不起作用您有何建议?如果您因活动终止而面临此问题,则任何getContext也将不起作用您有何建议?