【发布时间】:2012-03-10 04:28:17
【问题描述】:
简短说明
目前我有一个 UITableView,其中包含来自网站的视频单元格。此外,每个单元格(代表一个视频)都有一个特定的缩略图。这些图像是使用 NSURLConnection 异步下载的(所以我不必担心自己的线程)。当这些图像对象下载完毕后,它们只是通知 UITableView 刷新它所属的单元格。
我的问题
作为标准,每次调用都会向 UITableView 提取 10 个新视频。这意味着允许用户在 UITableView 底部推送一个单元格来请求 10 个新视频等等。这里的问题是很快就会占用大量内存,因为无论如何(在 UITableView 中)所有缩略图图像的数据仍然存在。
是否有一种聪明的方法可以取消分配当前不在视图中的图像对象?
此外,UITableView 只是直接从我拥有的从网站获取的所有视频对象的数组中呈现其所有单元格。这意味着用户可以请求新视频的次数没有限制,从而使这个数组一直越来越大。将这些类型的数组一直保存在内存中是否正确?还是应该删除那些不在视图中的,然后再请求它们?
提前谢谢你
【问题讨论】:
标签: iphone ios ipad uitableview memory-management