Niedawno spędziłem ostatnie 5 godzin próbując usunąć wyciek pamięci w mojej aplikacji Spritekit.Wyciek pamięci dla .showsPhysics
Po uruchomieniu aplikacji zauważyłem niewielką wspinaczkę w moim wykorzystaniu pamięci.
Spędziłem 3 z tych 5 godzin kopania przez materiał odniesienia, poznawania silny VS Słaby z ARC (Zdecydowanie polecam czytania się na tym dla półproduktów takich jak ja)
Czy ktoś doświadcza tego problemu? Jeśli tak, czy istnieje jakieś wyjaśnienie? Oto mały fragment mojego 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")
}
}
Jak widać, nie robię nic nadzwyczajnego tutaj. Chciałbym zamieścić mój kod gry, ale wszystko to zostało zakomentowane w czasie, gdy wciąż obserwowałem wyciek pamięci.
Czy możesz zaktualizować pytanie minimalistycznym kodeksem, który może odtworzyć opisane zachowanie? Czy mówisz, że przeciek ma miejsce nawet w pustym projekcie gry SpriteKit, gdy skView.showsPhysics ma wartość true? – Whirlwind
Witam @Whilwind, zaktualizowałem fragment kodu. Widzę, dokąd zmierzasz. Pomimo komentowania tego, że pokazuje linię fizyczną i nie ma już przecieku pamięci, wciąż obwiniam mój kod. Otworzyłem pusty projekt iz tego co wiem, nie ma wycieku pamięci. To jest po prostu dziwne, ponieważ po komentowaniu wszystkiego, poza kilkoma komentarzami, mój GameViewController jest w zasadzie szablonem Hello World. Być może może to mieć coś wspólnego z moimi ustawieniami kompilacji ... Którego nie sądzę, że kiedykolwiek zmywałem ... – luckybroman5