Сохранить состояние активности (не только некоторые переменные) при изменении ориентации

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

(См. Снимок экрана ниже) Когда приложение запускается,

1) ScrollView элемент 1,2,3,4 видны

2) данные таблицы контактов, которые заполняются кнопкой Gainer.

Как показано на скриншотах ниже,Пока приложение работает в режиме ПОРТРЕТЯ

1) прокрутите вниз до ScrollView пункта 4,5,6

2) нажал кнопку Loser, соответственно изменились данные в таблице под кнопкой.

3) Я даже буду динамически менять содержимое графа (чего я еще не делал).

Теперь я переключаюсь в режим ЛАНДШАФТ так

1) ScrollView показывает ScrollView элемент 1,2,3,4

2) таблица показывает данные, которые заполняются нажатием кнопки Гейнера.

3) график такой, какой он есть, поскольку я еще не изменил его (что я изменю позже).

Так что происходит, когда я меняю ориентацию, моя деятельность перезапускается. Таким образом, если пользователь выполняет какую-то задачу в одной ориентации, и он меняет ориентацию, тогда весь прогресс будет потерян.

Я знаю, что мне нужно сохранить состояние активности и восстановить его при изменении ориентации. Но я не знаю, с чего начать и что экономить.

ЛЮБАЯ ПОМОЩЬ БУДЕТ ЖИЗНЕННОЙ!

Ответы на вопрос(1)

Ваш ответ на вопрос