tvOS 10内存分配错误?

时间:2016-10-12 21:03:16

标签: memory swift3 xcode8 allocation tvos10

我正在编写一个有明显泄漏/内存分配问题的tvOS应用程序。自Swift 3和tvOS 10更新以来,我注意到了大量的内存问题。该应用程序应该持续运行数天/周,使用Swift 2和tvOS 9,它运行正常。现在,我的应用程序运行2-3天并崩溃。我已经在我的办公桌上敲了一个多星期了。

我已经使用Instruments来诊断和解决大部分(如果不是全部)我的泄漏,但我的应用程序中的内存使用量仍然缓慢上升。尽管仪器没有泄漏,但XCode中的内存使用跟踪器仍显示内存缓慢而稳定的上升。我一直在使用仪器跟踪分配,并发现了一些特殊的东西:

1)当我将SKCropNode添加到SKSpriteNode时,我的持久字节和#快速上升。

var cropNode: SKCropNode!

func prepare() {

    let node = SKSpriteNode()
    node.anchorPoint = self.anchorPoint
    node.size = self.frame.size
    node.color = UIColor.black

    self.cropNode = SKCropNode()
    self.cropNode.maskNode = node
    self.addChild(self.cropNode)
}

2)当我解雇一个场景时,我已经添加了许多措施来清理所有内容,但同样,持久性字节和#继续上升。我在适当的地方使用弱引用。

func exit() {

    let fadeAction = SKAction.fadeAlpha(to: 0.0, duration: 0.35)
    self.run(fadeAction, completion: { [weak self] in

        self?.removeAllActions()
        self?.removeAllChildren()
        self?.view?.presentScene(nil)
        self?.removeFromParent()
        self?.view?.removeFromSuperView()
    })
}

我的问题是:

从旧版本更新时,有没有人在Xcode 8,Swift 3或tvOS中遇到内存问题?

有没有人对我上面列出的问题有任何解释或解决方案?

提前致谢:)

0 个答案:

没有答案