2016-03-03 30 views
0

我有一個ViewController,它會創建並顯示一個SKScene *scene,如下所示。目前,我正在展示一個場景子類,其中包含大量的節點,對象等。SpriteKit內存泄漏?

我最近開始確定我沒有體驗和性能問題,當我發現我似乎有內存泄漏,大約+ 1到2 mbs。感到震驚,我開始刪除項目,直到所有的,我已經離開了我的VC下面的方法...:

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    // Configure the view. 
    SKView *skView = (SKView *)self.view; 

    if (!skView.scene) { 
     skView.showsFPS = YES; 
     skView.showsNodeCount = YES; 
     skView.showsPhysics = YES; 

     // Create and configure the scene. 

     SKScene *testScene = [SKScene sceneWithSize:CGSizeMake(1000, 1000)]; 

     // Present the scene. 
     [skView presentScene:testScene]; 
    } 
    // Do things after here pertaining to initial loading of view. 
} 

令我驚訝的是,應用程序內存在大約1.2 MB加載,仍然持續增長每秒(這次約爲0.3 mbs)。我迷路了,不明白爲什麼即使沒有任何東西可能會導致這樣的問題。如果有人知道我錯過了什麼,請告訴我 - 謝謝!

回答

2

意識到答案非常簡單..我很高興我注意到檢查這個,所以我想我會發布修復,以防萬一任何人遇到相同的問題。

我只需要做....刪除這條線。

skView.showsPhysics = YES; 

猜測精靈試劑盒保持到每個物理邊界,它「繪製」,並考慮到各節點位置也由於最小的數值不精確的稍微移動,它基本上重繪每形狀每FPS。所以,快樂的編碼!

+0

這將是很好的不是嗎??也許我正在等待所以讓我接受它,因爲我問了15小時前..但謝謝你的關注 –