首页 文章

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

提问于
浏览
3

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

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

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

1 回答

  • 0

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

    一般来说,如果您确实遇到性能问题,我只会尝试优化它 . 正如在Designing for Performance中所述,

    编写高效代码有两个基本规则:不要做你不需要做的工作 . 如果可以避免,请不要分配内存 .

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

相关问题