Мое приложение создает временные файлы, которые мне нужны на протяжении всего жизненного цикла. Мне нужно избавиться от этих файлов в конце концов, поэтому они не занимают места на устройстве. Я решил, что могу удалить их, когда приложение завершает работу, но поскольку многозадачность была введена, жизненный цикл не так прост, как раньше. Мой главный вопрос: когда мое приложение переместится на задний план и будет убито позже, получит ли он applicationWillTerminate:
? Или это просто вытирается из памяти?Как выполнить очистку, когда приложение убито в фоновом режиме?
Невозможно выполнить очистку, когда приложение перемещается в фоновый режим, поскольку оно может быть подсвечено в середине операции и потребует временных файлов после его возврата на передний план. Я думаю, что смогу очистить файлы при запуске, но меня все равно интересует поведение applicationWillTerminate:
.
Даже у меня была такая же проблема при создании игры на iPhone 4. Приложение не получало applicationWillTerminate: вызывается, когда пользователь выходит из приложения и не смог сохранить положение пользователя. Но в вашем случае я не думаю, что вам нужно беспокоиться об утечке памяти, поскольку память будет очищена, если указатель не укажет на нее, и временные файлы будут автоматически удалены. – Robin
Он беспокоится о временных файлах, а не утечке памяти. Тем не менее, AFAIK, папка tmp очищается во время синхронизации с iTunes. –