В моем приложении я должен проверить местоположение пользователя, а затем подключиться к серверу, чтобы узнать, что является ближайшим городом. Это означает, что у меня есть два дорогостоящих объекта, которые я хотел бы сохранить при изменении конфигурации. Одна из них - задача, которая определяет местоположение, а другая - AsyncTask для извлечения данных с сервера. Теперь что мне делать, чтобы сохранить оба?
Мой подход заключается в создании статического класса в моей деятельности следующим образом:
static class NonConfigurationObject{
MyLocation myLocationObject;
AsyncTask myAsyncTask;
}
Затем, когда эти два объекта создаются, я передаю их этому объекту NonConfigurationObject и сохраняю этот объект, а затем выясню, существуют ли MyLocation и AsyncTask и нет необходимости их создавать.
Это хороший подход? Потому что мне кажется, что это хорошо, но я не видел, чтобы это делалось именно так.
EDIT: Таким образом, этот подход выглядит нормально. Но если у вас есть другой способ сделать это, пожалуйста, поделитесь им.
Это приемлемый подход, если вы используете статический класс, чтобы избежать утечки памяти.
onRetainNonCOnfigurationInstance
больше неonRetainNonCOnfigurationInstance
: developer.android.com/reference/android/app/… .