Какой максимальный размер кучи и размер стека поддерживаются ОС iphone? - PullRequest
1 голос
/ 28 июня 2010

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

Ответы [ 2 ]

3 голосов
/ 28 июня 2010

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

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

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

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

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

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

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

2 голосов
/ 28 июня 2010

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

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

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

...