在android中我们使用了Picasso作为图片加载库,但有时候我们在来回切换fragment的时候会发现存在闪烁的问题,例如某app主界面有3个模块,分别是首页,资讯,我的。在首页和资讯中有大量的图片,“我的“里面有用户头像,并且每次“我的”界面显示时都会刷新当前界面的数据,我们在三个fragment中来会切换,会发现“我的”里面的用户头像会出现闪烁情况,出现这种情况的原因是我们没有设置加载中图片,或者已经设置了加载中图片,但Picasso的内存缓存中的图片因为在切换到首页和资讯消耗了大量的内存资源后,头像的图片可能会被回收,回收后再次加载就相对耗时长一点了,这个时候头像图片在加载过程中就会出现闪烁的情况,ok,说了这么多,我们直接上解决方案吧
Picasso.with(getActivity()).load(path).placeholder(mImgAvatar.getDrawable()).into(mImgAvatar);
没错,将头像加载中显示的图片改为从头像控件拿到的图片,也就是拿到上一次头像作为下一次头像加载中的图片,这样就可以完美解决图片闪烁问题了