2010-06-28 2 views
1

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

ответ

3

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

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

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

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

Применение выходит «из памяти» очень скоро ...

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

Вы также должны прочитать the Memory Management Programming Guide, если вы еще этого не сделали. Возможно, вы просто не выпускаете вещи, которые вам нужно выпустить. Если это так, вы увидите много ошибок с помощью прибора Leaks.

+0

спасибо, ответ Петра. – user327661

2

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

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

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

+0

спасибо за ответ tc – user327661

Смежные вопросы