是否应该将预取的图像延迟加载到ListView中?

时间:2011-01-27 17:07:11

标签: android listview

我正在填充一个相对复杂的列表项列表,包括几个textview,一个按钮和一个ImageView。与每个项目关联的图像是唯一的,但已经从互联网预取,所以我不需要等待HTTP请求下载图像。

尽管如此,我想知道从内存中延迟加载图像是否仍然是谨慎的,以便尽可能快地显示列表。 Android在管理应用程序列表中有此行为。它使用通用数据填充列表,并在更好的数据可用时更正每个项目。

将多个图像从内存加载到列表视图中会有多大的性能问题(特别是考虑快速滚动大型列表(300多项))?我需要考虑哪些权衡?

1 个答案:

答案 0 :(得分:0)

没有必要自己做任何延迟加载。 ListView内置了延迟加载。它只会加载页面上当前可见的列表视图项。它会在您滚动时加载列表中的后续项目。

一般情况下,如果您遇到性能问题,我只会尝试对其进行优化。正如它在Designing for Performance中讨论的那样,

  

写作有两个基本规则   高效的代码:

     
      
  • 不要做你不需要的工作   做。
  •   
  • 如果可以的话,不要分配内存   避免它。
  •   

尝试自己进行加载这些图像的预优化,而没有任何基准来表明您有真正的问题会破坏这两个规则。