我正在使用Glide v4,但并非总是可以从Url获取位图。有时它起作用,有时它不起作用并引发异常。我不知道为什么这是例外:java.lang.IllegalArgumentException: You must call this method on a background thread
,这是我的代码:
try {
bitmap=Glide.with(mContext.getApplicationContext())
.asBitmap().load(icon).fitCenter()
.circleCrop().submit().get();
} catch (Exception e) {
bitmap= BitmapFactory.decodeResource(mContext.getResources(),
R.drawable.ic_default_user_image);
}
我面临Glide的另一个问题,这是我在Glide Github上遇到的问题:https://github.com/bumptech/glide/issues/3590
答案 0 :(得分:2)
java.lang.IllegalArgumentException:您必须在后台线程上调用此方法
非常清楚。您无法运行将代码加载到主线程(即UI线程)上的代码。这个link可以解决您的问题。
答案 1 :(得分:1)
该异常显示-“您必须在后台线程上调用此方法”,例如:
Thread mThread = new Thread(new Runnable() {
@Override
public void run() {
try {
//Put your code that you want to run in here
} catch (Exception e) {
e.printStackTrace();
}
}
});
mThread.start