ListView可以存储多少项?

Min*_*iet 11 android listview listadapter

我是Android编程的新手.我想知道ListView可以存储多少项?我在文档中搜索,但他们没有谈论这个.如果我将很多(可能是10k)项目放入ListAdapter会对性能产生什么影响呢?

干杯,MK.

Zso*_*agy 7

ListView在Android中虚拟化.实际上,这意味着其中的元素数量没有实际限制.你可以在列表中放入数百万行,它只会为当前可见的行(或更多的顶部)分配内存.

查看有关为AdapterView编写自定义Adapter类的许多教程(ListView扩展了它).另请查看ListViews上的Google I/O 2010会话; 这真的很有用:这里


Oll*_*e C 5

没有限制,因为ListView仅在项目进入视图时呈现项目,因此在呈现项目时仅关注ListView的数据(尽管它需要知道正确呈现滚动条的项目数量)

Google IO视频非常适合学习ListView http://www.youtube.com/watch?v=wDBM6wVEO70

也就是说,我会问你是否应该加载那么多,因为显然用户无法全部查看它们并使用那么多项目滚动ListView将非常繁琐.如果是我,我会问一些问题:

  • 列表是否需要最初显示ALL?它能展示最相关的一套吗?最近/最大/最小/最佳/等
  • 您可以在物品页面中加载块,而不是一次性加载它们吗?因此,例如,您最初加载10-100,当用户到达底部时显示"正在加载更多..."并带有进度旋转图标,然后拉出更多,然后用户可以选择加载多少,以及加载多少滚动他们准备做
  • 您是否应该构建一个UI来过滤项目,这样他们就不需要看10,000了?

更多关于ListView http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/ http://developer.android.com/guide/topics/ui/binding.html http:// www.androidguys.com/2008/07/14/fancy-listviews-part-one/


Sha*_*ade -1

您有内存限制(这是特定于设备的)。只要您不耗尽内存限制,您就可以存储任意数量的项目。您可以使用 ADT 工具随时监控应用程序使用了多少内存。