Мы разрабатываем приложение для Android, которое имеет несколько операций, которые работают в мастере как путь - пользователь должен передать от действия № 1 к действию № 5 для получения до заключительного действия (#6).
Так как мы знаем, что действие может быть внезапно завершено ОС на низкой памяти, мы использовали Класс приложений в качестве статического устройства хранения данных для хранения данных вводы данных пользователем на операциях "мастера" и других данных наши потребности приложения в целой сессии.
К сожалению, мы обнаружили этот подход, сбои - похожи на экземпляр Класса приложений, также может быть уничтожен ОС (это было конкретно обнаружено на Android 1.6 по сравнению с 1,5). Являются неправильными наши ожидания в этом подходе (мы думаем, что экземпляр Класса приложений всегда живет для целой сессии приложения)?
Таким образом, вопрос - каковы лучшие практики на Android для хранения данных между операциями deathes/restarts для целой сессии приложения?
Мы разрабатываем приложение для Android, имеет несколько видов деятельности, которые работает как мастер - пользователь должен перейти от деятельности №1 к задание № 5, чтобы попасть в финал активность (# 6).
Вы уверены, что должны выполнять их как отдельные мероприятия? Почему ни одно действие, использующее ViewFlipper
или что-то еще, чтобы перемещаться между состояниями мастера?
Неужели наши ожидания ошибочны? подход (мы думаем, что класс приложения экземпляр всегда живет для всего app session)?
Экземпляр класса Application всегда существует в течение всего сеанса приложения, AFAIK. Однако, как только все ваши действия будут уничтожены, приложение также будет уничтожено.
Итак, вопрос - что лучше? практики на Android для хранения данных между перезапусками / удалением действий для всего сеанса приложения?
- если это выкидывает из ОЗУ, просто начните с нуля Или, лучше всего: в этом случае не используйте несколько действий. Волшебник - единственная логическая вещь; относитесь к нему как к таковому и превращайте его в одно действие. Сохраните свое состояние с помощью onSaveInstanceState ()
, и все готово.
] Если данные, которые вводит пользователь и которые нужно хранить, это просто набор примитивов, вы можете просто использовать []SharedPreferences[
] в качестве постоянного хранилища.[