2011-12-21 2 views
0

Вот некоторые предпосылки:Совместимость Жизненный цикл

  • Приложение предназначено для смартфонов (малые, средние, большие экраны)
  • приложение нуждается также выглядеть так-так на планшетах (XLarge экраны)
  • Приложению необходимо предоставить пользователям возможность переключаться между «Растянуть на экран заполнения» и «Масштабировать на экран заполнения» при работе на планшетном устройстве.

Дело в том, - когда пользователь переключается между этими режимами, текущая активность перезагружается => проходит через весь жизненный цикл, и я не хочу, чтобы :)

Я знаю, что в случае, т.е. вращение устройства (переход от ландшафтного режима к портрету или наоборот), мы можем использовать параметр android: configChange в манифесте, чтобы предотвратить перезапуск Activity. Но ни один из возможных вариантов не работает в случае режимов Compatibilty.

Любые намеки, идеи не имеют рестарт активность при переключении между увеличением/разгибание было бы здорово :)

ответ

0

Я знаю, что этот ответ не устраивает исходную проблему. Но почему вы не хотите перезапускать активность? Новое создание активности необходимо для загрузки (возможно, новых) ресурсов, настройки ширины/высоты и т. Д. Вы можете сохранить данные, которые необходимо сохранить и сохранить в onCreate своей деятельности. Некоторые способы сохранить данные указаны по этой ссылке: http://developer.android.com/guide/topics/data/data-storage.html

Возможно, это вариант, чтобы посмотреть фрагменты. Если вы поместите фрагмент внутри действия, вы можете перезапустить фрагмент (delete/add) вместо активности. Таким образом, вы не будете иметь дело с жизненным циклом деятельности.

+0

Я не знаю, почему это проблема, которую перезагружает ваша полная активность. Ваши данные не должны находиться в вашей деятельности, а в Службе. Если у вас есть какие-то данные, которые потребовались много времени для загрузки, вы можете передать его в новую операцию, используя onSavedInstanceState, см. http://developer.android.com/reference/android/app/Activity.html#onSaveInstanceState(android.os. Bundle) – Jordi

Смежные вопросы