来自调试器的消息:由于内存问题而终止,当我重新加载我的tableview时

时间:2018-06-06 06:22:40

标签: ios memory-management swift3 crash termination

我的应用程序崩溃并显示以下消息:"来自调试器的消息:由于内存问题而终止" ,当我的tableview重新加载时行数增加。

我从文档目录路径获取行上的数据,并在特定单元格索引的imageview上显示路径的图像,当行数达到10时,它以上述消息终止。

我的cellForRowAt IndexPath代码如下:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

 let cell : signatureCell = tableView.dequeueReusableCell(withIdentifier: "signatureCell") as! signatureCell
  cell.selectionStyle = .none
    do
    {
        let imageURL = SignImagesURL[indexPath.row]
        let image = UIImage(contentsOfFile: imageURL.path)
        cell.imgSignature.image = image
    }
    catch {
    }
    return cell    
}  

请给我解决方案以避免它。

2 个答案:

答案 0 :(得分:0)

可能存在内存泄漏或者内存过载(例如视图控制器因为强烈引用而导致弹出/关闭后仍保留在内存中。)

解决问题:

  • 您需要使用个人资料(cmd + i)构建应用,然后从选项中选择分配,然后测试您的应用。

  • 您将在测试期间看到正在分配和解除分配的所有视图控制器。

  • 只需识别占用过多内存的视图控制器并尝试优化其内存。

  • 此外,即使在弹出/关闭后,您也可以识别保留在内存中的视图控制器(而不是解除分配)。

答案 1 :(得分:0)

要查看错误说明的详细信息,您可以执行以下操作。

转到产品 - > 方案 - > 编辑方案,您可以启用Zombie对象的复选框。

他们可以在控制台中看到哪个ViewController被解除分配。enter image description here