常规加载gif代码 Glide.with(mContext) .load(drawableId) // .asGif() .diskCacheStrategy(DiskCacheStrategy.SOURCE) // .placeholder(R.drawable.placeholder) // .error(R.drawable.ic_error) // .skipMemoryCache(false) .dontAnimate() .fitCenter() .into(new GlideDrawableImageViewTarget(imageView) { @Override public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> animation) { super.onResourceReady(resource, animation); if (callBackListenser != null) callBackListenser.callBack(0); } });
在glide占用大量缓存内存的时候怎么手动回收掉这个内存呢
Drawable drawable = null; Glide.with(this).load(drawable).into(image);
如果 url 为 null,Glide 会清空 View 的内容,或者显示 placeholder Drawable 或 fallback Drawable 的内容
或者
Glide.with(this).clear(image);
复用view需注意:
Glide 唯一的要求是,对于任何可复用的 View
或 Target
,如果它们在之前的位置上,用 Glide 进行过加载操作,那么在新的位置上要去执行一个新的加载操作,或调用 clear()
API 停止 Glide 的工作。