Существует технически любая причина, по которой я должен использовать onRestoreInstanceState
? Могу ли я не делать все восстановление в onCreate
, проверяя, имеет ли пакет savedInstanceState
null? Каково основное преимущество использования onRestoreInstanceState
выполнения всего в onCreate
?
Использование onCreate vs. onRestoreInstanceState
Ответ 1
onRestoreInstanceState
Этот метод вызывается после onStart(), когда активность повторно инициализируется из ранее сохраненного состояния, указанного здесь в файле savedInstanceState. Большинство реализаций просто используют onCreate (Bundle) для восстановления своего состояния, но иногда удобно делать это здесь после завершения инициализации или разрешать подклассам решать, использовать ли вашу реализацию по умолчанию.
onRestoreInstanceState
гарантирует, что вы получите ненулевой объект Bundle
также в жизненном цикле активности, который он вызвал после onStart
Но onCreate
: вы всегда должны проверять, является ли объект Bundle
нулевым или нет, чтобы определить изменение конфигурации и, как вы знаете, его вызывали перед onStart
So It все зависит от вас и зависит от ваших потребностей.