Я хотел бы выполнить wakelock через определенные промежутки времени в моем приложении. Было бы неплохо, если бы Android мог просто сохранить все состояние моего приложения на диск до освобождения wakelock, а затем перезагрузиться, когда будильник AlarmManager или какой-либо другой процесс хочет запустить мое приложение. В настоящее время я храню много переменных на диске и перезагружаю их, когда приложение снова перезапускается. Microsoft Windows делает это, если вы переходите в режим ожидания. Просто интересно, поддерживает ли Android аналогичную вещь.Есть ли у Android средства хранения состояния приложения на диске
ответ
Я не думаю, что есть хороший способ сохранить состояние всего приложения. Нет необходимости хранить каждую отдельную переменную при сохранении состояния вашего приложения. Большинство переменных были бы полезными для указателей на объекты времени выполнения, такие как поверхности. И такие не должны быть сохранены, а также любые декомпрессированные изображения, звуки и т. Д. Вместо этого, при возобновлении, вы должны снова загрузить их из ресурсов APK. Я не думаю, что есть эффективный способ сделать это без работы программистов. Извините, кто-то должен знать, какое приложение загружается.
Я думаю, вы неправильно поняли, как работает и ведет себя смартфон. Или, может быть, я неправильно понимаю ваш вопрос. Если вы говорили о MS Windows на рабочем столе и о том, как они заходят в спячку, это полностью отличается от того, как работают телефоны и как пользователи будут их использовать. В Windows CE спящий режим может работать хорошо, вы просто сохраняете все, что делаете, и останавливаете CPU. На одноцелевом устройстве, таком как навигационное устройство, достаточно и хорошо работает. Вы отключите навигацию, выключив устройство, и включите питание, чтобы снова начать навигацию. Резюме полной ОС здесь.
Но смартфоны не будут спать как целое устройство. У них много приложений. И если одному приложению ничего не нужно делать, это не значит, что все устройство может спать из-за этого. Это телефон, вы должны иметь возможность принимать звонки. Получать письма. Используйте GPS для записи трека. Сама ОС ДОЛЖНА продолжать работать, в отличие от спящих окон.
Так что просто сериализуйте минимум информации, необходимой для восстановления в старом состоянии. Система не может сделать это за вас, так как сетевые соединения, созданные вами час назад, недействительны, файлы могут быть перемещены другим приложением. Если ваша деятельность или служба запущена AlarmManager, вы должны хранить то, что вы делали до себя. Используйте SharedPreferences или базу данных Sqlite. Если у вас есть простые данные, используйте только пакет OnSaveInstanceState.
Вы хотите объяснить, что вы пытаетесь выполнить? Я думаю, что вы хотите разработать свое приложение неправильно.
- 1. Есть ли у Android средства для хранения строки, которая может быть восстановлена после сброса настроек?
- 2. Есть ли у Android утилита для хранения статической карты?
- 3. Средства обнаружения состояния гонки
- 4. Есть ли у переменных состояния очереди?
- 5. Проверьте, есть ли у устройства аппаратные средства регулировки громкости?
- 6. Сохранение состояния приложения на Android
- 7. Папка приложения для Android на Google Диске
- 8. Android У моего приложения есть утечка памяти?
- 9. Android: есть ли у приложения только один объект Контекста
- 10. Надежность использования PendingIntent для хранения состояния приложения
- 11. Как определить, есть ли у моего приложения Android утечка памяти?
- 12. Есть ли у Android собственный локализованный текст?
- 13. Правильный способ проверить место на диске для Android-приложения?
- 14. Java - утилита для хранения файлов на диске?
- 15. Есть ли у Android кеширование библиотек?
- 16. Есть ли у android встроенный просмотрщик PDF?
- 17. Установка приложения на Диске
- 18. У Android-библиотеки есть контекст?
- 19. Место хранения git на внешнем жестком диске
- 20. У кнопки есть свойство для хранения строки?
- 21. Есть ли у Android «хост» ОС?
- 22. Есть ли способ спящего приложения?
- 23. Стратегии безопасности для хранения пароля на диске
- 24. Есть ли у Android «список известных проблем»?
- 25. Есть ли у trigger.io API для хранения конфиденциальных данных?
- 26. У узлов TreeView есть промежуточные проверенные состояния?
- 27. Есть ли у android эквивалент UIScrollView?
- 28. Есть ли у отладочной версии приложения для Android больше шансов быть убитым?
- 29. Есть ли средства просмотра FlowDocument для WPF?
- 30. Эффективный метод хранения словаря Python на диске?
http://stackoverflow.com/questions/151777/saving-activity-state-in-android Надеюсь, это может вам помочь! –
Это работает только для действий, а не для сервисов, которые есть у моего приложения. Кроме того, для этого требуется хранить все переменные, которые вы хотите восстановить, что я и делаю, за исключением того, что я храню их в базе данных. Я ищу больше для того, чтобы Android просто полностью загрузил все состояние приложения на диск. – AndroidDev