выгрузка данных в файл при выходе из приложения - PullRequest
0 голосов
/ 06 июля 2011

Что вы все рекомендуете в качестве лучшего места в проекте iphone для выгрузки данных, собранных от пользователя, в локальный файл?Вы сказали бы, что applicationWillTerminate - хороший вариант?

Спасибо!

Ответы [ 2 ]

1 голос
/ 06 июля 2011

Лучшим вариантом для iOS 4.x является applicationDidEnterBackground:

Действительно, согласно документам Apple, приложение в фоновом режиме может быть остановлено в любое время из-за нехватки памяти.Таким образом, предложение делает постоянную любую информацию о состоянии в момент входа приложения в фоновый режим.

Выдержка из протокола UIApplicationDelegate :

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

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

0 голосов
/ 06 июля 2011

Также из Apple Docs для приложения WillTerminate:

Для приложений, которые не поддерживают фоновое выполнение или связаны с iOS 3.x или более ранней версией, этот метод всегда вызывается, когда пользователь выходит из приложения. Для приложений, которые поддерживают фоновое выполнение, этот метод обычно не вызывается, когда пользователь выходит из приложения, потому что в этом случае приложение просто переходит в фоновый режим. Однако этот метод может вызываться в ситуациях, когда приложение работает в фоновом режиме (не приостановлено), и система по какой-то причине должна прекратить его.

Поэтому, если вы специально просите не поддерживать фоновую обработку для своего приложения или ссылаетесь на iOS 3.x, вам следует рассмотреть возможность сохранения в обоих местах (applicationWillTerminate и applicationWillEnterBackground), чтобы также отследить ситуации.

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