У меня есть случай, когда мой onRestoreInstanceState() вызывается правильно, но по какой-то причине предыдущий onSaveInstanceState() не вызывается.
Ситуация в том, что у меня есть действие, которое запускает другое действие. В это время устройство находится в портретной ориентации. Пока другое действие активно, устройство вращается. Затем он заканчивается, возвращаясь к моей деятельности. Поскольку ориентация изменилась, моя деятельность уничтожается и создается заново. Однако я никогда не вызываю метод onSaveInstanceState() перед вызовом для уничтожения. Я вижу следующее:
завершить (предыдущая активность) onDestroy (моя активность) onCreate onRestoreInstanceState onResume
А потом, конечно, я спотыкаюсь о NPE и разбиваюсь.
Если я просто поворачиваюсь, пока моя активность активна, я получаю вызов OnSaveInstanceState(), как и ожидал. Только не тогда, когда он переключается обратно на мою деятельность с другой деятельности.
Это известная проблема или есть что-то еще, что я могу сделать, чтобы обойти это?