¿Cuál usar: onSaveInstanceState vs. onRetainNonConfigurationInstance?

Por lo que puedo ver onRetainNonConfigurationInstance es una devolución de llamada redundante. Si mi actividad tiene inicialización muy cara, estoy mejor usando onSaveInstanceState. La instancia guardada cubre más situaciones que la instancia sin configuración. ¿Hay alguna guía para usar una API vs. la otra? Gracias.

Por lo que puedo ver onRetainNonConfigurationInstance es una devolución de llamada redundante.

No, no es.

Si mi actividad tiene inicialización muy cara, estoy mejor usando onSaveInstanceState.

onSaveInstanceState() no está diseñado para "inicialización muy cara". Está diseñado para "hey, el usuario ha hecho algunos cambios en la información de la actividad pero aún no la ha guardado, no perdamos esos datos, m'kay?".

¿Hay alguna guía para usar una API vs. la otra?

Si cabe en un Bundle y no es demasiado grande, use onSaveInstanceState() . Todo lo que no encaja en un Bundle (por ejemplo, un socket) o es realmente grande (por ejemplo, una foto como un Bitmap ) debe utilizar onRetainNonConfigurationInstance() , y su aplicación debe estar en posición de volver a crear esos elementos si es necesario.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.