Фоновая обработка в iPhone, iPod и iPad? - PullRequest
0 голосов
/ 23 декабря 2011

На устройствах iPod или iPad, когда приложение запущено и пользователь нажимает кнопку «Домой», приложение переходит в фоновый режим, но все равно занимает некоторую память. Что произойдет, если ряд других приложений занимают все больше и больше памяти одинаково? В моем случае мое приложение вылетает с предупреждением памяти - есть ли какое-либо решение или конкретный метод, который я должен использовать?

Вкратце, на самом деле я открываю одно приложение Cocos2D, через некоторое время я захожу на иконку домашнего экрана, и после этого я открываю второе приложение cocoa2d, у меня очень мало памяти для управления этим текущим приложением. Я имею в виду, предположим, что если 1-е приложение занимает 80 МБ ОЗУ, а другое приложение занимает (общая оперативная память устройства - 80 МБ). это возможно? тогда да, почему? Как я решу эту проблему, потому что из-за 1-го приложения я не смогу управлять 2-м приложением

Ответы [ 4 ]

2 голосов
/ 23 декабря 2011

Первое, что вы должны сделать, это прочитать документацию Apple, относящуюся к Состояниям приложения и Ответы на предупреждения о нехватке памяти в iOS

См. Также видеофильмы «Внедрение многозадачности» из WWDC 2010/11

.

Вернись и спроси, есть ли у тебя еще вопросы.

2 голосов
/ 23 декабря 2011

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

0 голосов
/ 23 декабря 2011

Если вы хотите, чтобы ваше приложение работало в фоновом режиме в течение ограниченного времени, и вы установили соответствующие списочные ключи фоновых режимов, ваше приложение должно минимизировать объем памяти, чтобы ОС не убивала его. Отпустите все , за исключением минимальных ресурсов, необходимых для работы в фоновом режиме, желательно только в несколько МБ грязной памяти. Поскольку вы не можете ничего отображать в фоновом режиме, это означает, что все приложения, ресурсы пользовательского интерфейса, изображения и т. Д. Будут освобождены до тех пор, пока ваше приложение снова не станет активным.

0 голосов
/ 23 декабря 2011

Вы должны сохранить статус своего приложения и данные, когда оно перед тем, как ваше приложение перейдет в фоновый режим.

...