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

Android 在listView上加载更多项目,而不是n+;2项,android,android-listview,android-viewpager,Android,Android Listview,Android Viewpager,我在android应用程序上有一个列表视图,在每个列表项中我都有一个视图页面,其中包含一些图像,这些图像是从web下载的 listView的性能并不完美,当listView想要显示下一行时,它的滚动应用程序会冻结约0.3秒。我尝试了截击下载图像,也尝试了使用异步任务下载图像,但应用程序仍然存在同样的问题 因此,我试图找到另一个使用listView和ViewPager在列表视图项目内显示图像滑块的应用程序,我发现该应用程序正在列表视图上加载更多行,因此当我滚动行时,这些行已准备好显示,且应用程序工

我在android应用程序上有一个列表视图,在每个列表项中我都有一个视图页面,其中包含一些图像,这些图像是从web下载的

listView的性能并不完美,当listView想要显示下一行时,它的滚动应用程序会冻结约0.3秒。我尝试了截击下载图像,也尝试了使用异步任务下载图像,但应用程序仍然存在同样的问题

因此,我试图找到另一个使用listView和ViewPager在列表视图项目内显示图像滑块的应用程序,我发现该应用程序正在列表视图上加载更多行,因此当我滚动行时,这些行已准备好显示,且应用程序工作正常,但是,如果我滚动得如此之快,他们的应用程序与我的应用程序存在相同的问题

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


另外,如果您知道提高列表视图性能的任何其他解决方案,请告诉我。

对于在列表视图中加载图像,我建议您尝试毕加索库


如果性能没有得到最好的改善(如果您提供了适配器代码)

获得图像加载和更平滑滚动的最佳方法是使用毕加索和滚动监听器

在某处创建标记对象:

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

谢谢,这有助于提高性能,但是如果没有您共享的侦听器,性能会更好,只是使用Picaso帮助了我,但是在未加载图像的情况下,listView滚动仍然不平滑,加载所有图像后,列表滚动更加平滑。您好,如果性能不好,您可能在适配器中执行的操作效率不够。例如…只有当单元格为空时才设置字体/颜色,而不是从标记加载单元格后才设置字体/颜色。谢谢,此库有助于提高性能,现在滚动更加平滑,但仍然不像其他应用程序那样正常,还有其他建议吗?