UIImage内存问题
UIImage memory issue
我正在尝试使用 Instagram 某个位置的照片创建一个应用程序。我已经成功获取了所有详细信息和图片网址,并且正在尝试将照片放入 table 视图中。这是我的代码。
if (indexPath.row == 0) {
var instagramCell1:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("instagramCell1") as UITableViewCell
if var imageURLString = allDataArray[indexPath.section]["image_standard"] as NSString! {
ImageLoader.sharedLoader.imageForUrl(imageURLString, completionHandler:{(image: UIImage?, url: String) in
//IMAGE
var cellImageView = UIImageView(image: image)
cellImageView.frame = CGRect(x: 0, y: 0, width: screenWidth, height: screenWidth)
instagramCell1.selectionStyle = UITableViewCellSelectionStyle.None
instagramCell1.addSubview(cellImageView)
})
}
return instagramCell1
}
为了获取图像,我正在使用 swift image loader。问题是,当每个图像都被放入 table 时,它似乎会继续添加到内存(缓存?),甚至当您向上滚动时它也会继续添加更多。 (我想 post 一张图片,但没有足够的代表)无论如何,有谁知道我做错了什么,
谢谢
我相信您在每次单元格出队时都在进行 URL 提取,这将导致大量网络工作。
至于内存,我不确定 swift image loader
是如何工作的,但如果我没记错的话,URL 提取会导致内存问题。
您可以尝试在呈现 UITableView 之前将所有图像提取到某个数据结构中,并且在 cellForRowAtIndexPath:
内部只需使用此数据结构将图像加载到单元格中
我正在尝试使用 Instagram 某个位置的照片创建一个应用程序。我已经成功获取了所有详细信息和图片网址,并且正在尝试将照片放入 table 视图中。这是我的代码。
if (indexPath.row == 0) {
var instagramCell1:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("instagramCell1") as UITableViewCell
if var imageURLString = allDataArray[indexPath.section]["image_standard"] as NSString! {
ImageLoader.sharedLoader.imageForUrl(imageURLString, completionHandler:{(image: UIImage?, url: String) in
//IMAGE
var cellImageView = UIImageView(image: image)
cellImageView.frame = CGRect(x: 0, y: 0, width: screenWidth, height: screenWidth)
instagramCell1.selectionStyle = UITableViewCellSelectionStyle.None
instagramCell1.addSubview(cellImageView)
})
}
return instagramCell1
}
为了获取图像,我正在使用 swift image loader。问题是,当每个图像都被放入 table 时,它似乎会继续添加到内存(缓存?),甚至当您向上滚动时它也会继续添加更多。 (我想 post 一张图片,但没有足够的代表)无论如何,有谁知道我做错了什么,
谢谢
我相信您在每次单元格出队时都在进行 URL 提取,这将导致大量网络工作。
至于内存,我不确定 swift image loader
是如何工作的,但如果我没记错的话,URL 提取会导致内存问题。
您可以尝试在呈现 UITableView 之前将所有图像提取到某个数据结构中,并且在 cellForRowAtIndexPath:
内部只需使用此数据结构将图像加载到单元格中