sqlite3 с многозадачностью iPhone - мне нужно правильно закрыть базу данных? - PullRequest
0 голосов
/ 26 июня 2010

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

Кажется, все работает нормально, но мне просто интересно ... это нормально, что никогда не закрывать базу данных должным образом?

1 Ответ

3 голосов
/ 26 июня 2010

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

Если это произойдет, ваше приложение не получит шанса на корректное завершение, а вместо этого отправит сигнал SIGKIL, немедленно остановив ваше приложение, независимо от того, в каком состоянии оно находится.

Закрытие базы данных, завершение ваших утверждений и внесение любых изменений обеспечит безопасность вашего состояния и данных, когда / если ваше приложение принудительно завершается.

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