Правильный способ справиться с изменением ориентации в Android - PullRequest
7 голосов
/ 27 июня 2011

Как правильно обрабатывать изменение ориентации в Android?Когда я исследовал этот вопрос, возникло два метода:

1-й метод Используйте методы onSaveInstanceState(Bundle savedInstanceState) и onRestoreInstanceState(Bundle savedInstanceState) для сохранения и восстановления вашей активности после уничтожения ОС Androidпосле изменения ориентации.

2-й метод Добавлен android:configChanges="orientation|keyboardHidden" в ваш AndroidManifest.xml, чтобы действие не было уничтожено при изменении ориентации.

Я испробовал оба метода, и они оба работают, однако реализация первого метода занимает намного больше времени.Хотя я вижу сообщения о втором методе, я хочу знать, является ли это «приемлемым» и «правильным» способом обработки изменения ориентации.И каковы преимущества и недостатки каждого метода?Спасибо!

Ответы [ 2 ]

3 голосов
/ 27 июня 2011

Второй метод не позволит вам делать определенные вещи, связанные с ориентацией, такие как загрузка другого макета для поворота экрана или нет (я имею в виду суффиксы ресурсов здесь). Я не сталкивался с какими-либо другими побочными эффектами, однако в документации говорится: «Следует избегать использования этого атрибута и использовать его только в качестве крайней меры».

Подробнее здесь: http://developer.android.com/guide/topics/resources/runtime-changes.html

0 голосов
/ 27 июня 2011

См. http://developer.android.com/guide/topics/resources/runtime-changes.html, где они объясняют оба метода и дают плюсы и минусы и лучшее решение.

...