滚动 UITableView 时阻止图像消失
我有一个 UI 表视图控制器。每个单元格从我的网络服务器加载图像。 如果我滚动 TableView 以使特定单元格滚动到视图之外,然后再次向后滚动,该单元格的图像就会消失,我必须等待它重新加载。
我猜这是 iPhone 内置的一些性能/内存管理功能?
我怎样才能阻止这种行为?
I have a UI Table View Controller. Each Cell Loads an image from my webserver.
If I scroll the TableView so that a particular cell scrolls out of view and then scroll back again the image for that cell has vanished and I have to wait for it to reload.
I'm guessing this is some performance/ memory management thing build into iphone?
How can I stop this behaviour?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我相信表格视图中的单元格被回收了。
将图像缓存在内存中并从缓存中分配,而不是将图像直接加载到表格视图中
我不知道这是否是最佳实践,但我认为您可以使用
NSArray
或
并首先加载到那里,然后将引用分配给数组中的对象。UIImage
的 NSDictionary更新
有一些代码这里使用
NSMutableDictionary
作为缓存I believe the cells in the tableview are recycled.
cache the images in memory and assign from your cache rather than loading the images directly into the tableview
I don't know if this is best practice or not but I think you could use an
NSArray
orNSDictionary
ofUIImage
and load into there first and just assign references to the objects in the array.Update
There is some code here which uses an
NSMutableDictionary
for the cache