Каковы лучшие практики на Android для хранения данных между операциями deathes/restarts для целой сессии приложения?

Мы разрабатываем приложение для Android, которое имеет несколько операций, которые работают в мастере как путь - пользователь должен передать от действия № 1 к действию № 5 для получения до заключительного действия (#6).

Так как мы знаем, что действие может быть внезапно завершено ОС на низкой памяти, мы использовали Класс приложений в качестве статического устройства хранения данных для хранения данных вводы данных пользователем на операциях "мастера" и других данных наши потребности приложения в целой сессии.

К сожалению, мы обнаружили этот подход, сбои - похожи на экземпляр Класса приложений, также может быть уничтожен ОС (это было конкретно обнаружено на Android 1.6 по сравнению с 1,5). Являются неправильными наши ожидания в этом подходе (мы думаем, что экземпляр Класса приложений всегда живет для целой сессии приложения)?

Таким образом, вопрос - каковы лучшие практики на Android для хранения данных между операциями deathes/restarts для целой сессии приложения?

7
задан Vit Khudenko 9 January 2010 в 10:32
поделиться

2 ответа

Мы разрабатываем приложение для Android, имеет несколько видов деятельности, которые работает как мастер - пользователь должен перейти от деятельности №1 к задание № 5, чтобы попасть в финал активность (# 6).

Вы уверены, что должны выполнять их как отдельные мероприятия? Почему ни одно действие, использующее ViewFlipper или что-то еще, чтобы перемещаться между состояниями мастера?

Неужели наши ожидания ошибочны? подход (мы думаем, что класс приложения экземпляр всегда живет для всего app session)?

Экземпляр класса Application всегда существует в течение всего сеанса приложения, AFAIK. Однако, как только все ваши действия будут уничтожены, приложение также будет уничтожено.

Итак, вопрос - что лучше? практики на Android для хранения данных между перезапусками / удалением действий для всего сеанса приложения?

  1. Использовать службу - если это выкидывает из ОЗУ, просто начните с нуля
  2. Используйте базу данных
  3. Используйте файл

Или, лучше всего: в этом случае не используйте несколько действий. Волшебник - единственная логическая вещь; относитесь к нему как к таковому и превращайте его в одно действие. Сохраните свое состояние с помощью onSaveInstanceState () , и все готово.

10
ответ дан 7 December 2019 в 01:22
поделиться
[

] Если данные, которые вводит пользователь и которые нужно хранить, это просто набор примитивов, вы можете просто использовать []SharedPreferences[] в качестве постоянного хранилища.[

].
0
ответ дан 7 December 2019 в 01:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: