Недавно делал восстановление открытых окошек после поворота экрана.
Самодельный велосипед с сохранением данных в преференсы.
А тут нашёл простое решение -
http://developer.android.com/referen...#configChanges
Прописываем в манифесте для активити строку
android:configChanges="orientation|screenSize|locale|keyboardHidden"
И теперь при повороте экрана активити не пересоздаётся.
Если нужно обработать изменения (н-р, обновить лэйауты для гориз. ориент.), то добавляем колбэк
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
/** обработка конфига ниже **/
}
Профит - поворот делается почти мгновенно, все вьюхи остаются видимые, включая popupMenu, лоадеры для списков заново не стартуют и т.д.
Если кто-то знает проблемные места этого подхода, расскажите.