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: 内部只需使用此数据结构将图像加载到单元格中