解决方法: context换成Application中全局的,新建一个Application类就行。
报错的语句:
Glide.with(context)
.load(url).apply(options).into(view);
改完:
Glide.with(MyApplication.getInstance().getContext())
.load(url).apply(options).into(view);
Application类先在manifest的application声明:
android:name=".application.MyApplication"
然后源码:
package com.xiaoluobei.facedetection.application;
import android.app.Application;
import android.content.Context;
import com.blankj.utilcode.utils.Utils;
import com.tencent.bugly.crashreport.CrashReport;
/**
* Created by xjc on 2017/11/7.
*/
public class MyApplication extends Application {
private static MyApplication instance;
private Context mContext;
private String buglyID = "c0fc9c599c";
@Override
public void onCreate() {
super.onCreate();
instance = this;
this.mContext = getApplicationContext();
Utils.init(this);
CrashReport.initCrashReport(getApplicationContext(), buglyID, false);
}
public static synchronized MyApplication getInstance() {
return instance;
}
public Context getContext() {
return mContext;
}
}
本文介绍了解决在使用Glide加载图片时遇到的上下文异常问题,通过将局部上下文替换为全局Application上下文,确保了Glide在不同场景下都能正确加载资源,避免了因上下文失效导致的加载失败。
947

被折叠的 条评论
为什么被折叠?



