Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift 4 ImageIO_jpeg_数据中的UIImage内存泄漏_Ios_Swift_Instruments - Fatal编程技术网

Ios Swift 4 ImageIO_jpeg_数据中的UIImage内存泄漏

Ios Swift 4 ImageIO_jpeg_数据中的UIImage内存泄漏,ios,swift,instruments,Ios,Swift,Instruments,我有两个UIViewController,其中显示照片,事实上,当我在它们之间切换时,我会无限地添加50-70mb的RAM等等 " “我在您的图表中没有看到任何内存泄漏。它只显示到目前为止使用的内存量。内存泄漏是第二行,如果有,则用红色标记。有关更多信息,请查看链接 如果图像太大,请尝试调整其大小。这将提高性能,并且在滚动时您的tableview将变得平滑 您应该使用contentOfFiles而不是storyboard设置图像。 删除图像输出和序列图像板中的图像,然后在viewDidLoa

我有两个UIViewController,其中显示照片,事实上,当我在它们之间切换时,我会无限地添加50-70mb的RAM等等

"


我在您的图表中没有看到任何内存泄漏。它只显示到目前为止使用的内存量。内存泄漏是第二行,如果有,则用红色标记。有关更多信息,请查看链接


如果图像太大,请尝试调整其大小。这将提高性能,并且在滚动时您的tableview将变得平滑

您应该使用contentOfFiles而不是storyboard设置图像。 删除图像输出和序列图像板中的图像,然后在viewDidLoad中使用以下代码:

override func viewDidLoad() {
    super.viewDidLoad()

    if let splashPath = Bundle.main.path(forResource: "bg", ofType: "png") {
        backgroundImgView.image = UIImage.init(contentsOfFile: splashPath)
    }
}

@Adrian添加了TagStableViewCell可能的重复项您是在为表视图分页,还是在数据源上加载“a gogo”图像数?顺便说一句,您的数据源中有多少图像?@GIJOW可能有不同的数字是的,我理解。我是指你的例子。但没关系,我会按照上面的链接。似乎您正在将web图像加载到
cellForRowAt
上,但内存未清理,而是挂起forever@AlexanderGovorukhin我不认为你有内存问题,如果你有,你会收到一个内存警告,你的应用程序将被关闭。请按照我的建议,尽量缩小图片的大小。也可能help@AlexanderGovorukhin可用于调整图像大小
override func viewDidLoad() {
    super.viewDidLoad()

    if let splashPath = Bundle.main.path(forResource: "bg", ofType: "png") {
        backgroundImgView.image = UIImage.init(contentsOfFile: splashPath)
    }
}