iPhone: утечки из других приложений, занимающих оперативную память? - PullRequest
1 голос
/ 23 января 2010

Я читаю некоторых людей, утверждающих, что если в другом (стороннем) приложении на чьем-то iPhone произошла утечка памяти, это может уменьшить (загадочный) объем оперативной памяти, который в противном случае было бы доступно вашему приложению.

Это смущает меня - не освобождается ли вся память приложения, когда приложение закрывается пользователем? И только одно приложение открыто на iPhone одновременно

Ответы [ 3 ]

2 голосов
/ 23 января 2010

Обычно любая память, которую выделяет ваше приложение, освобождается при выходе. Однако многие приложения Apple продолжают работать после того, как они «закрыты», поэтому утечки памяти в Mail, например, могут повлиять на доступную память.

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

0 голосов
/ 13 июня 2011

Вы должны запустить Instruments, а затем добавить инструмент «Memory Monitor», чтобы увидеть использование памяти всеми другими процессами на вашем телефоне. (Добавьте с помощью Window -> Library, затем перетащите инструмент Memory Monitor на панель приборов.

Я все еще пытаюсь определить, почему iOS освобождает память из приложения MY, а не все другие приложения памяти, которые в данный момент не работают.

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

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

На не взломанном телефоне - нет. Ваше единственное приложение не от Apple, которое запущено, другие не могут работать одновременно.

Так что вы можете сделать? Все, что вы можете сделать, это попытаться использовать минимально возможную память, которую вы, вероятно, уже делаете. Реально вы можете протестировать только с заводским, не взломанным телефоном, если вы не собираетесь часами пытаться угодить всем. Если вы думаете, что, возможно, используете слишком много, вы можете определить большие выделения с помощью инструментов инструментов («Запустить с помощью инструмента производительности>» из XCode), а затем опубликовать этот кусок кода здесь, чтобы получить представление о том, как его уменьшить. *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...