在iOS中多次推送UIViewController导致内存问题崩溃。没有崩溃追踪

时间:2018-06-06 19:28:20

标签: ios xcode memory-management crash uinavigationcontroller

我有以下情况。 (所有以编程方式实现 - 无故事板)

Xcode 9.4,Swift 4.1

  • 带有tableView
  • 的mainViewController
  • 选择单元格后,我将VC推送到堆栈中:

let detailVC = DetailViewController()
self.navigationController?.pushViewController(detailVC, animated: true)

  • 详情VC有一个子视图(GalleyView:UIView

我可以推送detailVC并多次使用navigationBar后退按钮返回问题。

但是......当我将3个UIImageViews作为子视图添加到Gallery View时,我可以推送detailVC,但每次加载时间更长,4次(大约2秒)之后,它会崩溃(完全确定性) )

唯一的消息如下,Xcode中没有崩溃堆栈跟踪。

Message from debugger: Terminated due to memory issue

监控内存使用情况,它在15MB到25MB范围内,推/弹操作之间没有明显增加。

我能够在galleryView

中找到addSubview(imageView)的问题
  • 如果我对addSubview行发表评论,它可以正常运行,但是当图片视图添加到图库视图中时,它会在5次推送操作后崩溃。
  • 崩溃不会发生在特定的addSubview行中,但会在viewWillAppear()结束后发生,而是发生在detailVC中的viewDidAppear()之前。
  • 设备和模拟器中失败

我确保我没有递归推送VC或多次添加视图或imageViews。我每次都实例化对象。 gallery.subViews.count始终为3。

关于这里可能发生什么的任何想法?... e

0 个答案:

没有答案