记录一个自己在IM当中遇到的图片加载的问题
在公司做聊天工具的时候遇见一个问题:就是在加载图片时,图片是服务器返回的URL,在加载时用的Picasso (Glide貌似有同样的问题)库进行加载。加载时设置了一个loading的占位图片,这就导致了item在计算高度时开始只能计算占位图的高度,所以在图片加载完成显示图片时,显示的高度只有占位图的高度那么高,如果服务器传来的图片高度高于占位图,那么这个图片只会显示上半部分,体验很差。网上查了几个解决方法是延迟一定时间后移动到最下面。结果还是没解决问题。
只显示了一半最后发现了一个不错的解决办法,就是调用Picasso的监听是否加载完成方法,在onSuccess方法中调用notifyDataSetChanged() 即可。
这是有问题的
之前的调用方式更新后的调用
解决的方法问题出现的究其原因还是自己对图片加载的方式了解的不够深入。
网友评论