Передать несколько объектов в onRetainNonConfigurationInstance - PullRequest
1 голос
/ 07 марта 2012

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

Мой подход заключается в создании статического класса в моей Деятельности следующим образом:

static class NonConfigurationObject{

    MyLocation myLocationObject;
    AsyncTask myAsyncTask;

}

Затем, когда эти два объекта создаются, я передаю их этому NonConfigurationObject и сохраняю этот объект, а затем выясняю, есть ли MyLocation и AsyncTask и нет ли необходимости их создавать.

Это хороший подход? Потому что мне это кажется хорошим, но я нигде не видел, чтобы это делалось так.

РЕДАКТИРОВАТЬ: Таким образом, этот подход, кажется, в порядке. Но если у вас есть другой способ сделать это, пожалуйста, поделитесь им.

1 Ответ

2 голосов
/ 07 марта 2012

Это приемлемый подход, если вы используете статический класс, чтобы избежать утечки памяти.

...