Использование onCreate vs. onRestoreInstanceState

Существует технически любая причина, по которой я должен использовать onRestoreInstanceState? Могу ли я не делать все восстановление в onCreate, проверяя, имеет ли пакет savedInstanceState null? Каково основное преимущество использования onRestoreInstanceState выполнения всего в onCreate?

Ответы

Ответ 1

onRestoreInstanceState

Этот метод вызывается после onStart(), когда активность повторно инициализируется из ранее сохраненного состояния, указанного здесь в файле savedInstanceState. Большинство реализаций просто используют onCreate (Bundle) для восстановления своего состояния, но иногда удобно делать это здесь после завершения инициализации или разрешать подклассам решать, использовать ли вашу реализацию по умолчанию.

onRestoreInstanceState гарантирует, что вы получите ненулевой объект Bundle также в жизненном цикле активности, который он вызвал после onStart Но onCreate: вы всегда должны проверять, является ли объект Bundle нулевым или нет, чтобы определить изменение конфигурации и, как вы знаете, его вызывали перед onStart So It все зависит от вас и зависит от ваших потребностей.