la aplicación se bloquea cuando el cuadro de diálogo de alerta está abierto y el teléfono (emulador) cambia su orientación

Chicos, he estado buscando y estudiando sobre esto durante todo un día. La aplicación se bloquea no solo cuando se abre un cuadro de diálogo, sino también cuando se abre una rueda giratoria (y estoy seguro de que sería un montón de otros escenarios que no he encontrado).

elegir entre onRetainNonConfigurationInstance () y onConfigurationChanged (Configuration newConfig) no me ayudará. (tal vez me equivoque) - en realidad prefiero usar el primero.

PERO quiero preguntar: para un solo cuadro de diálogo abierto o spinner abierto, ¿tengo que crear todo desde cero? ¿Es este un camino? a veces no vale la pena reinicializar una gran clase con muchos widgets dentro solo por un momento en que tal vez el usuario cambie la orientación.

por favor dame pistas y orientación. Gracias por adelantado.

Editado :::

Error code:

01-25 17:56:48.182: ERROR/WindowManager(312): Activity XXX has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@43e63058 that was originally added here
01-25 17:56:48.182: ERROR/WindowManager(312): android.view.WindowLeaked: Activity XXX has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@43e63058 that 
was originally added here
01-25 17:56:48.182: ERROR/WindowManager(312):     at android.view.ViewRoot.<init>(ViewRoot.java:247)
01-25 17:56:48.182: ERROR/WindowManager(312):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
01-25 17:56:48.182: ERROR/WindowManager(312):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
01-25 17:56:48.182: ERROR/WindowManager(312):     at android.view.Window$LocalWindowManager.addView(Window.java:424)
01-25 17:56:48.182: ERROR/WindowManager(312):     at android.app.Dialog.show(Dialog.java:241)
01-25 17:56:48.182: ERROR/WindowManager(312):     at XXX.menuGroupDialog(XXX.java:946)
0    1-25 17:56:48.182: ERROR/WindowManager(312):     at XXX.onOptionsItemSelected
(GroupManagement.java:257)
01-25 17:56:48.182: ERROR/WindowManager(312):     at android.app.Activity.onMenuItemSelected(Activity.java:2195)01-25 17:56:48.182: ERROR/WindowManager(312):     at 
com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:730)
01-25 17:56:48.182: ERROR/WindowManager(312):     at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:143)
01-25 17:56:48.182: ERROR/WindowManager(312):     at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:855)
01-25 17:56:48.182: 
ERROR/WindowManager(312):     at com.android.internal.view.menu.IconMenuView.invokeItem(IconMenuView.java:532)
01-25 17:56:48.182: ERROR/WindowManager(312):     at com.android.internal.view.menu.IconMenuItemView.performClick(IconMenuItemView.java:122)
01-25 17:56:48.182: ERROR/WindowManager(312):     at android.view.View$PerformClick.run(View.java:8816)
01-25 17:56:48.182: ERROR/WindowManager(312):     at 
android.os.Handler.handleCallback(Handler.java:587)
01-25 17:56:48.182: ERROR/WindowManager(312):     at android.os.Handler.dispatchMessage(Handler.java:92)
01-25 17:56:48.182: ERROR/WindowManager(312):     at android.os.Looper.loop(Looper.java:123)
01-25 17:56:48.182: ERROR/WindowManager(312):     at 
android.app.ActivityThread.main(ActivityThread.java:4627)
01-25 17:56:48.182: ERROR/WindowManager(312):     at java.lang.reflect.Method.invokeNative(Native Method)
01-25 17:56:48.182: ERROR/WindowManager(312):     at java.lang.reflect.Method.invoke(Method.java:521)
01-25 17:56:48.182: ERROR/WindowManager(312):     at 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
01-25 17:56:48.182: ERROR/WindowManager(312):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
01-25 17:56:48.182: ERROR/WindowManager(312):     at 
dalvik.system.NativeStart.main(Native Method)

Sé que esto es de llamar a la función de despido (). pero, ¿cómo puedo manejar el cambio de orientación cuando tengo el diálogo abierto?

Respuestas a la pregunta(4)

Su respuesta a la pregunta