#iphone #performance #memory #cocos2d-iphone #cpu
#iPhone #Производительность #память #cocos2d-iphone #процессор
Вопрос:
достаточно ли, если я установлю видимость NO для моего CCNode / CCSprite? Он все еще в памяти?
Каков наилучший способ удалить его из памяти, а затем снова поместить в нее (быстро)?
Как насчет b2Body? Как это сделать с ними?
Я хочу сделать это, потому что я разделил свой уровень, и я просто хочу поместить объекты в память, которые видны….
Ответ №1:
Присвоение узлу / спрайту значения невидимый определенно не освободит его из памяти. Если вы хотите полностью удалить его из памяти и быстро добавить снова, я подозреваю, что пул памяти — лучший способ сделать это.
Я не уверен, что понимаю, почему вы хотите иметь только объекты, которые видны в памяти, а затем иметь возможность быстро добавлять их в память снова быстро? Вероятно, я просто не понимаю, чего вы пытаетесь достичь. Возможно, вы пытаетесь оптимизировать использование памяти преждевременно. Конечно, вы должны остановить все утечки памяти, но выполнили ли вы какое-либо профилирование относительно того, сколько памяти использует ваш проект?
Комментарии:
1. основная проблема заключается в том, что если у меня слишком много спрайтов / b2bodys, мое тело проигрывателя будет прерывистым, и мое действие ccfollow тоже будет прерывистым, потому что оно следует за плеером… Я провел несколько тестов и увидел, что если у меня не так много объектов, это не будет резким…
2. 1 за идею. я попробую это завтра … (сегодня у меня нет времени)