Android-приложение перезагружается при изменении ориентации

Когда я меняю ориентационное приложение, перезагружается, и я потерял свои текущие данные. Я использую группу активности, которая содержит множество действий, когда я меняю ориентационное приложение, перезагружается от основного действия.

Возможно ли избежать перезапуска приложения при изменении ориентации?

Кто-нибудь знает, пожалуйста, дайте мне знать ..

Если ваш андроид: targetSdkVersion = "12" или меньше

андроид: configChanges = "ориентация | keyboardHidden">

Если ваш андроид: targetSdkVersion = "13" или более

андроид: configChanges = "ориентация | keyboardHidden | Размер экрана">

Android перезапускает действия всякий раз, когда ориентация меняется по умолчанию.

Вам нужно будет сохранить данные / состояние, вызвав onSaveInstanceState() прежде чем Android уничтожит действия.

Посмотрите здесь: Обработка изменений времени выполнения

Этот вопрос SO также хорошо читается в понимании того, как вы с этим справитесь.

Это можно предотвратить, добавив в AndroidManifest файл android:configChanges="orientation" .

Источник: http://developer.android.com/guide/topics/manifest/activity-element.html#config

Вот как это должно работать. Есть способ сделать это не так, но вы должны следовать жизненному циклу и быть в состоянии обработать перезагрузки активности изящно. Это было задано здесь много раз.

Вы можете сказать системе игнорировать изменения со следующим:
<activity android:name="SomeActivity" android:configChanges="keyboardHidden|orientation">

Но я бы предложил не делать этого, потому что это часто указывает на лежащие в основе проблемы, которые еще не возникли.

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

В документации API есть хорошая информация о том, почему текущая активность уничтожается и перестраивается. Я обнаружил, что это очень полезно, когда я работал над чем-то связанным.

Если вы не укажете иное, изменение конфигурации (например, изменение ориентации экрана […]) приведет к уничтожению вашей текущей активности, выполнению процесса жизненного цикла обычной активности onPause (), onStop () и onDestroy ( ). Если действие было на переднем плане или видимо для пользователя, как только onDestroy () вызывается в этом экземпляре, тогда будет создан новый экземпляр действия с любым сохраненнымInstanceState предыдущего экземпляра, сгенерированным из onSaveInstanceState (Bundle).

http://developer.android.com/reference/android/app/Activity.html#ConfigurationChanges