Android – Ejemplo del Bloc de notas – ¿Por qué poblar en onCreate?

He terminado el ejercicio Layout y me pregunto por qué incluyen la llamada a populateFields() en onCreate y onResume .

De acuerdo con el ciclo de vida de la actividad "onResume" siempre se realizará antes de mostrar la actividad, ¿por qué no sólo allí?

Tengo código de producción real que llena campos y sólo se llama en onResume y funciona muy bien. Pensé que una de las razones sería que tal vez onResume se llama después de que se muestre la actividad, pero un poco de google encuesta este hilo (casi sin relación): http://groups.google.com/group/android-developers/browse_thread/thread/ Ddea4830bedf8c6c? Pli = 1

Quote: onResume () es, por tanto, lo último que sucede antes de la UI se muestra

Esto es lo que Dianne Hackborn dice así que supongo que podemos confiar en ella 🙂

En realidad he visto aplicaciones (en mi aplicación y también otros), donde los campos sólo se poblaron en onCreate() , pero no en onResume() .

Vamos a llamar a esa aplicación 'A'.

El efecto fue que cuando el usuario presionó el botón de inicio, fue a una aplicación diferente, y luego regresó a 'A', la pantalla permaneció en negro, ya que 'A' todavía estaba en la memoria y por lo tanto el sistema no se molestó en llamar onCreate() , Pero entró directamente en onResume() .

Así que básicamente diría (y esto segundos lo que escribió @Torp) rellenar la interfaz de usuario en onResume() y que se haga.

Pero entonces, esta respuesta es un poco fuera de tema, ya que no responde a su "por qué" cuestión.

No se rellena en onResume porque se llamará cada vez que se muestre la actividad.

Por lo general, desea crear el menor número de objetos posible, por lo que se crean de una vez por todas en onCreate y, a continuación, siempre se puede comprobar que todavía se actualizan en onResume.

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