Как андроид перезапускает действие или фрагмент при повороте приложения? Меня интересуют методы или флаги, которые он использует в процессе. ThxКак андроид перезапускает активность или фрагмент при изменении ориентации устройства?
ответ
Когда происходят какие-либо изменения конфигурации, такие как ориентация устройства, активность будет уничтожена и воссоздана, если вы не изменили этот процесс внутри файла манифеста. Как отметил @Lazai, если вы изменили функциональные возможности изменения конфигурации, вы должны вручную загрузить все новые ресурсы, необходимые для новой ориентации, включая стили, темы, чертежи и макеты внутри обратного вызова Activity.onConfigurationChanged(Configuration newConfig).
Примечание: если вы не указали внутри файла манифеста, что вы хотели бы вручную изменить конфигурацию, вы никогда не получили бы вызовActivity.onConfigurationChanged(Configuration newConfig).
Android exports recommend not handling the configuration changes yourself and letting the OS handle itself. Итак, как узнать, когда происходят изменения ориентации, когда вы не получаете вызовы onConfigurationChanged (Configuration newConfig)? Хорошо, если вы настроены таргетинг выше API Level 11, их метод удобен для класса Activity, который указывает, имеет ли действие изменение конфигурации, которое называется Activity.isChangingConfigurations(). Этот метод всегда будет возвращать false до тех пор, пока активность не будет готова к уничтожению. Он имеет действительное значение до вызова Activity.onPause(), что вы можете проверить и определить, вращается ли ваше устройство, и ваше приложение должно выполнить некоторые специальные оптимизации или процедуры сохранения состояния.
Я лично рекомендую разрешить системе обрабатывать изменения конфигурации и проверять, меняется ли ориентация, потому что в большом приложении или сложной деятельности может возникнуть очень утомительная перезагрузка необходимых ресурсов и активов, чтобы предотвратить отключение одного из простых действий объекта или во время вращения.
в вашем фрагменте переопределении onconfigurationchanged метод
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
// reload your views here
}
Когда ориентация изменяется все фрагменты и мероприятия будут уничтожены, а взгляды воссозданы вновь; если вы не измените настройки конфигурации:
<activity android:name=".SampleActivity"
android:configChanges="orientation|keyboardHidden">
Так в основном ключ здесь OnStop() и OnDestroy(), вы должны сохранить состояние ваших задач при повороте в OnStop() метод (или даже OnPause()), чтобы перезапустить их снова при загрузке представлений (onResume()).
Подробнее здесь link
Когда деятельность и фрагменты вращаются, они разрушаются (с onDestroy()
), то они идут через тот же жизненный цикл, как они были созданы.
- 1. Изменение ориентации на Android-приложение перезапускает активность
- 2. Фрагмент перезагружается при изменении ориентации
- 3. Dont воссоздать фрагмент при изменении ориентации устройства с ViewPager
- 4. Фрагмент исчезает при изменении ориентации
- 5. активность перезапускает извещения клика - андроид
- 6. Активность уменьшается при изменении ориентации
- 7. Фрагмент исчезает при изменении ориентации
- 8. Активность андроида с фрагментами выходов при изменении ориентации устройства
- 9. Разный фрагмент не загружался при изменении ориентации (андроид)
- 10. Фрагмент Backstack не восстанавливается при изменении ориентации
- 11. Проверьте андроид при изменении ориентации экрана
- 12. Как анимировать uiimageview при изменении ориентации устройства
- 13. Неверный фрагмент отображается при изменении ориентации
- 14. Черный экран при изменении ориентации устройства
- 15. активность перезагрузка при изменении ориентации в android
- 16. Активность перезагружается при изменении ориентации в Android
- 17. Активность в андроиде возобновляется при изменении ориентации
- 18. Фрагмент Изменения порядка Z при изменении ориентации
- 19. андроидный фрагмент, созданный дважды при изменении ориентации
- 20. Активность была восстановлена дважды при изменении ориентации
- 21. UIImageView не вращается при изменении ориентации устройства
- 22. Отобразить желаемый фрагмент при изменении ориентации
- 23. фрагмент, созданный дважды при изменении ориентации
- 24. Поворот uiscrollview при изменении ориентации устройства
- 25. Андроид утерян при изменении ориентации экрана
- 26. Chart.js - Неправильная работа при изменении ориентации устройства
- 27. Сбой CSS при изменении ориентации устройства
- 28. Позиция UIActivityViewController изменилась при изменении ориентации устройства?
- 29. Ограничения, не изменяющиеся при изменении ориентации устройства
- 30. Надутые предметы исчезают при изменении ориентации устройства