Glide加载ImageView显示不全的问题(宽高比一致,以及fitxy/centerCrop)

之前也有类似Glide问题的记录 MonkeyLei:Glide加载之圆角兼容CenCrop+宽度铺满高度自适应坑

这里简单记录下,资讯列表图片是指定了宽高的,比如380228,后台图片比例也是这样给的。理论上单纯的Glide加载肯定是OK的,而且即使设置了centerCrop也不会裁剪,因为控件和图片资源比例一致*,设置了fitxy也ok呀。。。

小萌新用了一个圆角处理,圆角里面了是centerCrop,这个也没什么影响呀。小萌新主动的设置ImageView控件的fitxy属性,也还是几率性的显示不全!然后我又网上查了下,发现有网友这样说:

image

占位的问题?我看了下我自己的占位图片,确实尺寸跟代码设置的控件的尺寸不一样。然后就针对这个情况进行了填充设置 fitCenter:

image

于是我的设置就如下:

                    GlideApp.with(mContext)
                            .setDefaultRequestOptions(new RequestOptions()
                                    .centerCrop()
                                    .placeholder(R.drawable.home_list_img_default_02)
                                    .fitCenter()
                            )
                            .load(dataModel.getThumbpath())
                            .apply(GlideUtil.getRoundCrop(mContext, 4))
                            //.placeholder(R.drawable.home_list_img_default_02)
                            //.error(R.mipmap.pic_default)
                            .into(posterBigIv);

然后打包给测试测试了,跟以前的反复对比,确定这样就OK了!算是解决了这个问题了,我觉得这个部分,我会单独抽出时间来封装一个Glide/ImageView工具类,封装时根据实际使用情况进行封装,作为公共组件的一个部分(就叫SImageView吧)。如下链接可参考,

https://blog.csdn.net/whx2385212446/article/details/81541066

https://blog.csdn.net/xzytl60937234/article/details/82773632

https://blog.csdn.net/u014301370/article/details/71131533

另外还有个问题,就是开机图片问题

开机图片加载后,放置手机一天或者较长时间,然后再次启动App,发现开机图片显示会是空白?然后加载,之后就正常?感觉就是长时间不用了,突然加载就是空白页面,是失效了么?

这个小萌新也很难复现,我还特意在开机引导图来回切换测试,发现也没问题,有新的开机图,启动后总是会被下载,下载成功后文件路径更新到prefrence中,然后下次启动则Glide直接加载!(为什么隔了很长时间会显示空白 - 此时跳过的计时器走着)?

解决:目前暂时设置跳过图片缓存(skipMemoryCache(true)),直接加载本地图片,另外判断了下本地文件是否存在,不存在的话,则跳过开机画面展示,做一个双重保险!如果遇到了好复现的话,则仔细盘查!。。。。待续?

你可能感兴趣的:(Glide加载ImageView显示不全的问题(宽高比一致,以及fitxy/centerCrop))