我正在使用Glide在我的PagerAdapter
中加载GIF。
图像来自服务器,具有高分辨率和大量帧。
我注意到加载和播放GIF后内存使用量很高,可能导致Out Of Memory
。
我尝试了以下Glide方法(.override(),skipMemoryCache(),diskCacheStrategy()
),但内存使用情况没有改变。
Glide中是否还有其他可以使用的方法?
Glide.with(mContext)
.load(imageUrl)
.override(480, 342)
.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) {
imageViewBackground.setImageDrawable(resource);
return false;
}
})
.into(imageViewBackground);
答案 0 :(得分:0)
Glide.with(mContext)
.load(imageUrl)
.override(480, 342)
.into(...)
覆盖为我做了伎俩而已 用于窗口小部件更新的RemoteViews超出了最大位图内存使用错误
答案 1 :(得分:0)
经过多次尝试后我才开始这样做
Glide.with(mContext)
.load(media_url)
.thumbnail(Glide
.with(mContext)
.load(media_url)
.listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
progressBar.setVisibility(View.GONE);
return false;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
progressBar.setVisibility(View.GONE);
return false;
}
})
)
.dontAnimate()
.into(mIvMessageImage);