Уменьшение памяти iPhone? - PullRequest
       25

Уменьшение памяти iPhone?

1 голос
/ 25 января 2010

Я заметил в своем приложении, что didReceiveMemoryWarning вызывается намного быстрее, если мой телефон не был выключен в течение длительного времени. Похоже, что пул памяти, к которому моё приложение может получить доступ, со временем уменьшается.

Кто-нибудь еще заметил это и есть ли объяснение этому? Могу ли я предпринять какие-то действия, чтобы этого не случилось?

Я заметил, что это происходит, когда я использую хороший кусок памяти, беря и манипулируя изображением. Выключение и перезагрузка телефона помогает. Возможно ли, что память, к которой моё приложение может получить доступ, уменьшается или может быть существующая память фрагментирована и перезагрузка дефрагментирует существующую память?

Любое объяснение или помощь по этому вопросу было бы замечательно. Спасибо.

Ответы [ 3 ]

1 голос
/ 25 января 2010

Старые версии демона iPod, mediaserverd, использовавшегося для утечки.

Это привело к описанному вами поведению.

Если одна системная служба может просочиться, другие тоже могут.

1 голос
/ 25 января 2010

Да, это, к сожалению, хорошо известное поведение. По мере запуска операционной системы развивается Cruft, и в конечном итоге требуется перезагрузка, чтобы все прояснить. Вот почему многие приложения в магазине приложений запрашивают перезапуск, прежде чем играть в свою игру.

0 голосов
/ 26 января 2010

То, что наши приложения не работают в многозадачном режиме, не означает, что iPhone выполняет многозадачность.

Открытые веб-страницы в Safari остаются в памяти до тех пор, пока ОС не отправит Safari то же самое предупреждение о памяти, которое вы получаете. Почта может начать работать, когда ваше приложение работает и требует больше памяти. приложение для iPod также сохраняет немного памяти для себя.

Если вы посмотрите на консоль iPhone с помощью Органайзера, а ваше приложение получит предупреждение о нехватке памяти, вы, вероятно, увидите, что некоторые встроенные приложения также получают предупреждение о памяти и завершают работу, чтобы освободить память. Это довольно интересно.

...