掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8
博客:
GitHub : https://github.com/af913337456/
腾讯云专栏: https://cloud.tencent.com/developer/user/1148436/activities
这两天在改造我的私人APP 非ROOT版微信自动回复, 使之可以多开的时候,碰到一个这样的问题。
Glide 在使用默认的Targer方式下,同一个 View 加载不同 URL 图片的时候,返回的 Bitmap 引用地址是一样的,但图片像素不一样。默认的 Target 有 : BitmapImageViewTarget.java,DrawableImageViewTarget.java
默认的方式代码如下:
private Bitmap lastTimeQrCodeBitmap; private void showQrCodeImage(final ImageView i){ if(wechatCoreApi == null) return; Glide.with(context) .load("xxxxxxxxxxxxxxxxxxx") .asBitmap() .override(400,400) .skipMemoryCache(true) .listener( new RequestListener<String, Bitmap>() { @Override public boolean onException(Exception e, String model, Target<Bitmap> target, boolean isFirstResource) { return false; } @Override public boolean onResourceReady(Bitmap resource, String model, Target<Bitmap> target, boolean isFromMemoryCache, boolean isFirstResource) { if(resource != null){ // 这里打印出加载回来的 Bitmap 的内存地址 LogUitls.e("resource ===> "+resource.toString()); lastTimeQrCodeBitmap = resource; } return false; } } ) .into(i); }