ios - UICollectionView 在内存中加载多少?
问题描述
我有一个 UICollectionView,里面装满了图像、视频和声音字节。一切都很好!但是,我担心带宽使用情况。
关于何时从存储中下载这些项目,我不确定具有出队可重用单元的 UICollectionView 究竟是如何工作的。
假设我有这个简单的单元格。
selfieCell.imageView.sd_setImage(with: URL(string: message.stringOrKey), completed: nil)
return selfieCell
为了回答我的问题,假设我在集合视图单元格中有 100 个,一次只显示 3 个单元格。
- 加载UICollectionView时是否加载所有100 张图像?
- 或者 UICollection 视图是否等到单元格即将显示来设置图像(并因此下载文件?)
谢谢您的帮助。
解决方案
一次只显示 3 个单元格
加载的单元格仅在cellForItemAt
调用滚动时可见,而其他单元格从再次向上滚动时将隐藏在顶部的单元格中删除
当再次显示相关单元格时,像 sdwebimage 这样的缓存图像也不会从服务器再次加载它
推荐阅读
- endianness - 如何解释来自 F1 2020 游戏 UDP 数据包的 python 字节字符串?
- php - 致命错误:在布尔值上调用成员函数 bind_param()。更新表
- multithreading - C11/C++11 内存模型获取、释放、放宽细节
- r - 如何按月对数据帧进行排序/排序?
- opencv - 构建额外模块和 CUDA 时在 Windows 上出现 CMake 错误
- regex - vb6 选择字符串中的整个单词
- javascript - 在过滤函数中分配新的键和值对不起作用
- python - 将数据从子进程传递到父进程,管道在 Windows 上不起作用
- java - Cloud Spanner ResultSet 获取长度
- javascript - 使用 javascript 与浏览器交互