Пересоздание Activity при повороте экрана.

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Пересоздание Activity при повороте экрана.

Сообщение KamiSempai » 10 июл 2013, 16:34

Суть проблемы такова. Есть Activity для которой в манифесте запрещено когда-либо пересоздаваться.
Крутим, вертим девайс, сворачиваем, разворачиваем приложение, все отлично работает, Activity не пересоздается.
Но стоит на планшете перейти в экран блокировки, то при повороте вызывается onDestroy.
Проверял на Kindle HD и Nexus 7. На первом Kindle такой пакости не замечено.

Может кто сталкивался с этим и знает решение?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

Re: Пересоздание Activity при повороте экрана.

Сообщение anber » 10 июл 2013, 16:50

KamiSempai писал(а):Суть проблемы такова. Есть Activity для которой в манифесте запрещено когда-либо пересоздаваться.
Крутим, вертим девайс, сворачиваем, разворачиваем приложение, все отлично работает, Activity не пересоздается.
Но стоит на планшете перейти в экран блокировки, то при повороте вызывается onDestroy.
Проверял на Kindle HD и Nexus 7. На первом Kindle такой пакости не замечено.

Может кто сталкивался с этим и знает решение?
У меня Nexus 7, как воспроизвести? Если экран заблокирован то никакие события при вращении не проиходят
В манифесте у активити я так понимаю android:configChanges="keyboardHidden|orientation|screenSize"
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Пересоздание Activity при повороте экрана.

Сообщение KamiSempai » 10 июл 2013, 17:01

Причина найдена. Все дело в screenSize. У меня не его нет в android:configChanges.
Однако, screenSize было добавлено в 13 API, а у меня в приложении используется 8 API.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

Re: Пересоздание Activity при повороте экрана.

Сообщение anber » 10 июл 2013, 17:08

KamiSempai писал(а):Причина найдена. Все дело в screenSize. У меня не его нет в android:configChanges.
Однако, screenSize было добавлено в 13 API, а у меня в приложении используется 8 API.
у самого нексуса то 17 апи
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Пересоздание Activity при повороте экрана.

Сообщение KamiSempai » 10 июл 2013, 18:10

API устройства тут почти не играет ни какой роли. За исключением того, что описанная проблема будет воспроизводиться на всех устройствах с API выше 13.

Как оказалось все довольно просто. В свойствах проекта, на вкладке Android, выбрал Android 4.0.3 (он у меня был скачан), в манифесте target API указал 15 минимальную 8.
Ну и конечно в android:configChanges добавил screenSize.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Ответить