У меня абсолютно худшее время с нехваткой памяти в моей игре с cocos2d.
У меня 4 сцены.два исчезают из памяти, когда я переключаю сцены с помощью
[[CCDirector sharedDirector]replaceScene:sceneWithTransition]
Я пробовал push / pop, и это делает проблему примерно в 10 раз хуже.
2 сцен похожи на вирус.Условия, при которых я могу удалить их из памяти, не существуют.Я использую изменения ARC.Я надеялся, что они помогут, но не помогли.
Я переопределил метод очистки, чтобы избавиться от ссылок на все, что есть в сценах.Первая - сцена игрового процесса, и я могу представить, как возможно, что я пропустил что-то, что каким-то образом удерживает сцену.Однако другой является сцена настроек.Он состоит из 5 частей.они все брошены, и все же сцена не будет очищена.до преобразования в ARC приложение было непригодным для использования, оно часто ломалось, а когда оно не падало, ему не хватало памяти.После ARC он длится примерно в 4 раза дольше, чем раньше, но все еще регулярно исчерпывает память.Аварии, однако, почти не существует.
Полагаю, во-первых, как правильно переключаться между сценами?Во-вторых, как можно удалить что-то из памяти при использовании arch, потому что object = nil ничего не делает.Все остальные мои программы, использующие ARC, работают как мечты.Никто из них не использует движок cocos2d.Я не видел ошибки памяти с момента появления arc, пока не совершил ошибку, конвертировав свою игру quartz2d в cocos2d.Единственная причина, по которой я не возвращаюсь к платформе, которая действительно функционирует, заключается в том, что мне действительно нравятся возможные эффекты в кокосовых орехах, которые я просто не могу заставить работать в кварце.