在listView上加载更多项目而不是n + 2项目

时间:2015-02-12 15:52:59

标签: android android-listview android-viewpager

我的Android应用程序上有一个 ListView ,在每个列表项中我都有一个包含一些图像的 ViewPager ,图像是从网上下载的。

listView的性能并不完美,当listView希望显示下一行应用程序冻结约 0.3秒时滚动。我尝试使用凌空下载图片,但我尝试使用异步任务下载图片,但应用仍有同样的问题。

所以我试图找到另一个使用listView和ViewPager在列表视图项目中显示图像滑块的应用程序,我看到这个应用程序在列表视图中加载更多行,所以当我滚动时,行已准备好显示并且应用程序是正常工作,但如果我滚动得那么快,他们的应用程序就会遇到与我的应用程序相同的问题。

所以我的问题是:“我应该如何更改列表视图上加载的默认项目数(屏幕上显示的项目数+ 2)?”。

如果您知道其他任何可以改善列表视图效果的解决方案,请告诉我。

2 个答案:

答案 0 :(得分:1)

对于listviews中的图片加载,我建议您尝试Picasso Library

Get it here

如果您提供适配器代码

,性能并未提高

答案 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);
  }
}