gpt4 book ai didi

android - Glide assert : java. lang.IllegalArgumentException: 你必须在主线程上调用这个方法

转载 作者:可可西里 更新时间:2023-11-01 19:03:02 32 4
gpt4 key购买 nike

有没有人使用 Glide 从后台线程中获取图像?我不断得到这个断言:

java.lang.IllegalArgumentException: You must call this method on the main thread

但是根据这个线程,它应该可以工作:

https://github.com/bumptech/glide/issues/310

但是,我无法让它工作,除非我从主线程调用它。

这是我在主线程中尝试做的事情:

    Glide.get(mContext);
loadUserImage(userImageUrl);

// wait 5 seconds before trying again
int imageLoadingTimeOut = mContext.getResources().getInteger(R.integer.image_loading_time_out);
if (imageLoadingTimeOut > 0) {
new Timer().schedule(new TimerTask() {
@Override
public void run() {
if (!mUserImageLoaded) {
loadUserImage(userImageUrl);
}
}
}, imageLoadingTimeOut);
}
}

和加载用户图像:

private boolean mUserImageLoaded = false;

private void loadUserImage(String userImageUrl) {

if (userImageUrl != null && !userImageUrl.isEmpty() && !mUserImageLoaded) {
Glide.with(mContext).using(Cloudinary.getUrlLoader(mContext)).load(userImageUrl).crossFade().listener(new RequestListener<String, GlideDrawable>() {

@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
return false;
}

@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
mImageMessageContent.invalidate();
mUserImageLoaded = true;
return false;
}
}).into(mImageMessageContent);

} else {
mImageMessageContent.setVisibility(View.GONE);
}
}

而 mContext 只是 Activity “this”指针。

无论如何,我可以在不同于主线程的线程中使用 Glide 吗?

最佳答案

Update image in main ui thread

runOnUiThread(new Runnable() {
@Override
public void run() {
Glide.with(MainActivity.this)
.load("image URL")
.into(imageView);
}
});

关于android - Glide assert : java. lang.IllegalArgumentException: 你必须在主线程上调用这个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35658806/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com