как работают "сохраненные состояния"? (Android) - PullRequest
1 голос
/ 07 апреля 2010

Я только что прочитал довольно интересную статью о том, как Android (и я предполагаю, что другие ОС) работают, когда мало памяти.Как это делается теоретически?Это похоже на сериализацию объектов в Java?

1 Ответ

1 голос
/ 07 апреля 2010

Одним словом: да.

В нескольких словах вроде .Вы должны обрабатывать больше вручную, чем лично мне бы хотелось.По сути, все, что предоставляет Android, - это хеш для отправки нескольких сериализуемых объектов, на которые ссылаются строки, которые гарантированно безопасны при завершении работы приложения.Таким образом, всякий раз, когда происходит что-то, что вы хотели бы сохранить при завершении работы приложения, вы несете ответственность за обновление этого хэша сохраненного состояния (и уведомление Android об этом).Это включает в себя такие вещи, как неполный ввод текста в полях формы.Это означает, что вам есть что слушать.

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

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

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

Конечно, это ответ относительно Android.Другие (настольные) ОС используют виртуальную память и пейджинг для борьбы с ограничениями памяти.

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