1
我将本地存储的640 * 100像素图像加载到UITableViewCell
中。快速加载UITableView中的本地图像
的图像被从磁盘(按需)异步加载,存储到NSCache
,然后放入UITableViewCell
UIImageView
主线程上。
当单元格快速滚动时,单元格消失之前,我遇到单元格闪烁并且某些图像未加载。 (滚动速度比加载速度更大)
我认为我不应该对电池重新使用之前,将不会出现细胞加载图像(滚动速度非常快的时候)
而且,它可能是有利于将图像“布局”存储在内存中,甚至是“预先绘制”的图像,但对于这两个问题我都没有很好的启发式方法。
我的单元格通过由UITableView数据源传入的数据对象加载它们的内容。我不希望数据源管理图像的提取,因为我发现代码更加简洁。但是现在我处于优化阶段,这是一个问题,因为单元格没有对所有者UITableView
的引用,并且不知道滚动速度或其他指标。
有没有人解决过类似的问题?任何方式来解决这个问题?
NSCache,SDWebimage,AFNetworking或其他许多图书馆,你希望为此做一些Google。 –
请分享您创建单元格和加载图片的代码,这将是一个很好的起点来帮助您。 – sage444
您是否尝试创建图像的低分辨率副本,以在用户滚动时加载,然后停止滚动加载全分辨率图像。 – sage444