В библиотеке Android, которую я пишу, у меня есть очередь, в которой элементы постоянно находятся в очереди и удалены. Требуемая спецификация заключается в том, что никакие элементы в очереди не теряются. Итак, если приложение закрывается, я должен каким-то образом сохранить очередь.Можно ли сохранить базу данных прямо перед закрытием приложения Android?
У меня есть два варианта:
1) В идеале, я мог бы спасти очереди в SQLite базы данных, когда приложение закрывается. Однако я не знаю, как это обнаружить, или даже если это возможно. Таким образом, я могу перезагрузить элементы очереди, которые в следующий раз при открытии приложения никогда не были возвращены в очередь. Если кто-то может сказать мне, как обнаружить приложение рядом с библиотекой (а не Activity), было бы очень полезно.
2) Если это невозможно, я могу написать очередь прямо в базу данных для каждой вставки и удаления. Однако это ужасно неэффективно и слишком медленно для моей библиотеки.
Каков наилучший способ справиться с этой проблемой?
Это не будет работать, если пользователь нажимает HOME (активность не заканчивается), а затем Android завершает процесс через определенный промежуток времени. – CommonsWare
Я считаю, что это касается действий, а не приложений. – bclymer
Я знаю, что это для активности, но если он сохранит данные в базе данных на этом этапе, он будет в безопасности. После OnPause другие события могут не вызываться, и все приложение может быть убито, если оно рассматривается как необходимое операционной системой. – neo