提问者:小点点

UICollectionView在内存中加载了多少?


我有一个UICollectionView,里面充满了图像、视频和声音字节。一切顺利!然而,我对带宽的使用感到关切。

我不确定使用出列可重用单元格的UICollectionView是如何工作的,也不确定这些项目何时从存储下载。

假设我有一个简单的牢房。

selfieCell.imageView.sd_setImage(with: URL(string: message.stringOrKey), completed: nil)
return selfieCell

为了回答我的问题,假设我在集合视图单元格中有100个单元格,每次只显示3个单元格。

  • 加载UICollectionView时是否加载所有100个图像?
  • 还是UICollection视图等待单元格将要显示以设置图像(从而下载文件?)

谢谢你的帮助。


共1个答案

匿名用户

每次只显示3个单元格

当您滚动CellForItemat时,加载的单元格仅为可见的单元格,而当您再次向上滚动时,其他单元格将从隐藏在顶部的单元格中分离出来

同样,当相关单元格再次显示时,缓存映像(如sdwebimage)不会再次从服务器加载它