之前也有类似Glide问题的记录 MonkeyLei:Glide加载之圆角兼容CenCrop+宽度铺满高度自适应坑
这里简单记录下,资讯列表图片是指定了宽高的,比如380228,后台图片比例也是这样给的。理论上单纯的Glide加载肯定是OK的,而且即使设置了centerCrop也不会裁剪,因为控件和图片资源比例一致*,设置了fitxy也ok呀。。。
小萌新用了一个圆角处理,圆角里面了是centerCrop,这个也没什么影响呀。小萌新主动的设置ImageView控件的fitxy属性,也还是几率性的显示不全!然后我又网上查了下,发现有网友这样说:
占位的问题?我看了下我自己的占位图片,确实尺寸跟代码设置的控件的尺寸不一样。然后就针对这个情况进行了填充设置 fitCenter:
于是我的设置就如下:
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)),直接加载本地图片,另外判断了下本地文件是否存在,不存在的话,则跳过开机画面展示,做一个双重保险!如果遇到了好复现的话,则仔细盘查!。。。。待续?