解决listview更新数据时,屏幕闪烁的问题

由于使用了universal-image-loader-1.9.2-SNAPSHOT-with-sources.jar这个第三方库来加载图片,用的时候是爽了,但是使用过程还是出了一些问题....

之前修改listview中某一项的数据后,再刷新listview时,出现了屏幕闪烁的问题,但是没有想到是是imageLoader造成的,只以为是重新加载图片时都会出现屏幕闪烁的问题,于是采用了局部刷新的方法,这样就避免了重新加载图片,也就解决了闪烁的问题,详细方法见http://blog.csdn.net/u014038534/article/details/51090254。


但是当你删除listview的某一项时,就无法采用局部更新的方法了,那怎么办呢??百度一下,发现了http://www.eoeandroid.com/thread-541113-4-1.html里面的某位大神给出了出现闪烁的原因和解决方案:

就是我们在使用该ImageLoader的时候,会设置option,如果我们将选项displayer设置成.displayer(new FadeInBitmapDisplayer(200)) ,就会出现闪烁的问题,我们可以设置成.displayer(new SimpleBitmapDisplayer())就可解决了


其根本原因是在display图片时,如果是FadeInBitmapDisplayer,那就需要时间去给图片出现,而此时listview已经更新好view了,图片再出现就会导致闪烁。而设置成SimpleBitmapDisplayer则在更新listview的同时,就立即展示图片,没有动画效果就不会延迟,也就不会闪烁了。个人想法,欢迎指正。

你可能感兴趣的:(android学习)