内存泄漏.showsPhysics

我最近花了5个小时试图debugging我的Spritekit应用程序中的内存泄漏。

应用程序启动后,我注意到我的内存使用情况的一个小爬。

我花了5个小时中的3个,通过参考材料挖掘,了解强VS VS弱(绝对推荐阅读中间体,如我自己)

有没有人遇到这个问题? 如果有,有什么解释? 这里是我的GameViewController的一个小片段:

class GameViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() if let scene = MainMenu(fileNamed:"MainMenu") { // Configure the view. let skView = self.view as! SKView skView.showsFPS = true skView.showsNodeCount = true skView.multipleTouchEnabled = true skView.showsPhysics = true /* Sprite Kit applies additional optimizations to improve rendering performance */ skView.ignoresSiblingOrder = true /* Set the scale mode to scale to fit the window */ scene.scaleMode = .Fill //var GameSaveData = GameData() // Scene Config //scene.Landscape = "Test_Landscape" //scene.Area = "Start" skView.presentScene(scene) }else{ print("Couldn't Load Game Scene") } } 

正如你所看到的,我在这里没有任何不寻常的事情。 我会发布我的游戏代码,但是当我仍然在观察内存泄漏的时候,它被全部注释掉了。

最后,出于狡辩,我开始评论代码行,然后构build和分析,直到内存泄漏得到解决。

在我的GameViewController.swift文件中发现,

 skView.showsPhysics = true 

是罪魁祸首。 这一定是一个新的bug,看看我在<IOS 9.2中没有看到这个问题

 skView.showsFPS = true skView.showsNodeCount = true skView.showsPhysics = true 

会泄漏内存至less0.3 MB /秒。

此外…

 skView.showsFields = true 

在这里输入图像说明

以30-40 MB / s的速度泄漏内存。 坏苹果!