Не получается didReceiveMemoryWarning, когда приложение находится в фоновом режиме

Я замечаю, что мои контроллеры представления не получают свои методы didReceiveMemoryWarning , вызываемые, когда мое приложение находится в фоновом состоянии на имитаторе iPad. В частности, я вижу в своих журналах вызов applicationDidEnterBackground , затем нажимаю кнопку «Имитация предупреждения о памяти», а затем я замечаю странное отсутствие каких-либо вызовов didReceiveMemoryWarning .

Однако, когда я возвращаю приложение на передний план, я внезапно получаю вызов didReceiveMemoryWarning , как если бы это был в очереди.

Что меня здесь смущает, так это то, действительно ли мое приложение работает в фоновом режиме или оно просто полностью приостановлено. Есть ли способ узнать об этом в симуляторе?

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

В любом случае, основные вопросы: почему я не получаю didReceiveMemoryWarning в фоновом состоянии? И еще, действительно ли я отстранен? И как мне узнать?

8
задан fieldtensor 3 October 2012 в 09:05
поделиться