我的Android应用程序上有一个 ListView ,在每个列表项中我都有一个包含一些图像的 ViewPager ,图像是从网上下载的。
listView的性能并不完美,当listView希望显示下一行应用程序冻结约 0.3秒时滚动。我尝试使用凌空下载图片,但我尝试使用异步任务下载图片,但应用仍有同样的问题。
所以我试图找到另一个使用listView和ViewPager在列表视图项目中显示图像滑块的应用程序,我看到这个应用程序在列表视图中加载更多行,所以当我滚动时,行已准备好显示并且应用程序是正常工作,但如果我滚动得那么快,他们的应用程序就会遇到与我的应用程序相同的问题。
所以我的问题是:“我应该如何更改列表视图上加载的默认项目数(屏幕上显示的项目数+ 2)?”。
如果您知道其他任何可以改善列表视图效果的解决方案,请告诉我。
答案 0 :(得分:1)
答案 1 :(得分:1)
拥有大量图像并获得更流畅的滚动的最佳方法是使用Picasso和滚动侦听器。
在某处创建TAG对象:
public static final Object PICASSO_TAG = new Object();
加载您调用的图片:
Picasso.with(context).load(url).into(imageView);
然后在AbsListView.OnScrollListener
public void onScrollStateChanged(AbsListView view, int scrollState) {
if(SCROLL_STATE_IDLE == scrollState){
Picasso.with(context).resumeTag(PICASSO_TAG);
} else {
Picasso.with(context).pauseTag(PICASSO_TAG);
}
}