Зачем вдруг увеличиваться и уменьшаться объем памяти, хотя я делаю что-нибудь в игре с набором спрайтов?

Я разрабатываю простую игру с набором спрайтов. Когда я запускаю игру на своем устройстве, я начинаю менять сцены между игровым процессом, основной сценой и сценой уровня. Однако память увеличивается в игровом процессе, но неожиданно увеличивается в 5 раз и автоматически уменьшает фактический уровень. Я просто жду игровую сцену и ничего не делаю. Как вы можете видеть на рисунке.

введите описание изображения здесь

Я пробую следующее, чтобы выяснить проблему:

  1. Вызовите метод deinit в классе GamePlay, но он не вызывает метод deinit, пока происходит это неожиданное уменьшение.
  2. Используйте распределение памяти инструментов, но ничего не можете понять.

Я использую Xcode Debug Session. Что ты предлагаешь? Как я могу понять, почему память увеличивается и уменьшается таким образом?

Я представляю такие сцены.

let scene = GamePlay(size: self.view!.bounds.size, viewController: viewController)
self.view!.presentScene(scene)

class GamePlay: SKScene {

private weak var viewController: GameViewController?

lazy var TimeToAddLive = CFTimeInterval(600)
var gameOverCurrentTime: CFAbsoluteTime!
var totalWaitTime: CFTimeInterval!
var timePassed: Double!
var timeLeft: Int!
var ballNode: [Balls] = []
let parentLaser = SKNode()
let gameObjectsNode = SKNode()
var allBallsConnected = 0
var gunPoint: CGPoint!
var laserChilArray = [SKSpriteNode]()
var remainingLives = SKLabelNode(fontNamed: "Chalkduster")
let back = SKSpriteNode(imageNamed: "back")
var timeLabel = SKLabelNode(fontNamed: "Chalkduster")

lazy var contactSound : SKAction = SKAction.playSoundFileNamed("laserContact.caf", waitForCompletion: false)
lazy var failSound: SKAction  = SKAction.playSoundFileNamed("fail2.caf", waitForCompletion: false)
lazy var succesSound: SKAction = SKAction.playSoundFileNamed("succes.caf", waitForCompletion: false)
lazy var fadeIn = SKAction.fadeInWithDuration(0.5)
lazy var fadeOut = SKAction.fadeOutWithDuration(0.5)
lazy var frameForAnimation = 0
lazy var fullScreenAdTime = 0
lazy var doubleContact = 0

let deneme = SKSpriteNode()
let tutBox = SKSpriteNode()

let Pi = CGFloat(M_PI)
var RadiansToDegrees: CGFloat {
    get {
        return 180 / Pi
    }
}
var DegreesToRadians: CGFloat {
    get {
        return Pi / 180
    }
}

Я думаю, что проблема может быть в определении свойств. Я не знаю. Поэтому я пишу свои свойства класса. Когда я представляю сцену GamePlay, это увеличение происходит. Он не увеличивается при представлении уровня сцены, основной сцены или игры поверх сцены.

0 ответов

Другие вопросы по тегам