каков максимальный размер кучи и размер стека, поддерживаемый iphone os?

Может ли кто-нибудь сказать мне, какой максимальный размер приложения поддерживается iphone? Также какой максимальный размер кучи и размер стека поддерживаются? Приложение уходит из памяти очень скоро...


person user327661    schedule 28.06.2010    source источник


Ответы (2)


Любые числа, которые вы можете получить,

  1. Возможны изменения (даже если они верны сейчас, в какой-то момент они вполне могут оказаться неверными), и
  2. Бесполезный.

Что конкретно вы делаете с любым из этих чисел? Отслеживайте, сколько памяти вы выделяете? И что ты будешь делать, когда у тебя кончится? iOS отправляет вам сообщение с просьбой освободить память, когда это происходит; что вы будете делать по-другому?

Не беспокойтесь о наложении ограничений на себя. Просто будьте максимально эффективными.

Приложение уходит из памяти очень скоро...

Тогда вы неэффективны со своей памятью. Профилируйте свое приложение с помощью инструментов Instruments ObjectAlloc и Leaks и выясните, в чем заключается ваша неэффективность. Как только вы их исправите, вашему приложению больше не будет постоянно не хватать памяти.

Вам также следует прочитать Руководство по программированию управления памятью, если вы еще не сделали. Возможно, вы просто не выпускаете то, что вам нужно выпустить. Если это так, вы увидите множество утечек с помощью инструмента Leaks.

person Peter Hosey    schedule 28.06.2010

Если у вас бесконечная (не хвостовая) рекурсия, вы попадаете в отладчик с примерно 20 тысячами кадров стека. Я не уверен, скольким байтам это соответствует, но для чего-то толкового достаточно.

Не существует установленного максимума, кроме обычного ограничения адресного пространства (вероятно, около 3 ГБ); ваше приложение уничтожается, потому что на устройстве закончилась физическая оперативная память, и больше нет фоновых приложений, которые можно было бы убить.

Если вас убивают из-за нехватки памяти, вы либо делаете что-то очень глупое, либо имеет место утечка памяти.

person tc.    schedule 28.06.2010