Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

225
Visualizações
onCreate se inicia dos veces sin cambios en la interfaz de usuario

Actualmente estoy desarrollando una aplicación con solicitudes de red. Sin embargo, a pesar de que solicité una vez, llegaron dos resultados. (Comprobado con logcat) Después de eso, comencé a estudiar sobre Android Lifecycles y agregué registros a TODAS las funciones de Lifecycle:

Ej.) onResume()

 override fun onResume() { Log.d("LIFECYCLE", "OnResume Started") super.onResume() Log.d("LIFECYCLE", "OnResume Ended") }

Después de imprimir el logcat, obtuve el siguiente resultado:

 1. D/LIFECYCLE: OnCreate Started 2. W/<appname>: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (unsupported, reflection, allowed) 3. W/<appname>: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (unsupported, reflection, allowed) 4. D/LIFECYCLE: OnCreate Ended 5. D/THREAD: Thread Started -> The network request thread 6. W/<appname>: Accessing hidden method Ljava/lang/invoke/MethodHandles$Lookup;-><init>(Ljava/lang/Class;I)V (unsupported, reflection, allowed) 7. D/LIFECYCLE: OnStart Started 8. I/ActivityThread: Schedule relaunch activity: <PACKAGE_NAME>.activities.MainActivity 9. D/LIFECYCLE: OnStart Ended 10. D/LIFECYCLE: OnResume Started 11. D/LIFECYCLE: OnResume Ended 12. W/<appname>: Accessing hidden method Ldalvik/system/CloseGuard;->get()Ldalvik/system/CloseGuard; (unsupported,core-platform-api, reflection, allowed) 13. W/<appname>: Accessing hidden method Ldalvik/system/CloseGuard;->open(Ljava/lang/String;)V (unsupported,core-platform-api, reflection, allowed) 14. W/<appname>: Accessing hidden method Ldalvik/system/CloseGuard;->warnIfOpen()V (unsupported,core-platform-api, reflection, allowed) 15. D/LIFECYCLE: OnPause Started 16. D/LIFECYCLE: OnPause Ended 17. D/LIFECYCLE: OnDestroy Started 18. D/LIFECYCLE: OnDestroy Ended 19. D/LIFECYCLE: OnCreate Started 20. D/LIFECYCLE: OnCreate Ended 21. D/THREAD: Thread Started 22. D/LIFECYCLE: OnStart Started 23. D/LIFECYCLE: OnStart Ended 24. D/LIFECYCLE: OnResume Started 25. D/LIFECYCLE: OnResume Ended 26. D/THREAD: Thread Ended 27. D/THREAD: Thread Ended ...

D/Thread en logcat es el hilo de solicitud de red que hice en onCreate()

Como puede ver en la línea 8, hay un registro de ActivityThread donde dice "Programar actividad de relanzamiento". Sin embargo, no reinicié ni relancé mi actividad. La aplicación funciona sin problemas sin ninguna animación de reinicio ni retrasos mientras se imprime el registro.

Probé soluciones como agregar verificación nula a savedInstanceState y ejecutar el subproceso de red cuando es nulo, pero de alguna manera los resultados de la solicitud de red y los comandos de cambio de interfaz de usuario que hice dentro del subproceso se reflejan en la segunda solicitud , por lo que esto no fue bueno.

LA PARTE MÁS IMPORTANTE : para encontrar qué salió mal, abrí un emulador y probé mi aplicación. Sorprendentemente, cuando abro la aplicación con el emulador, no hay registro de relanzamiento de actividad ni respuesta duplicada. Funciona perfectamente como lo programé.

El dispositivo con el que tuve problemas es Pixel 6 Pro (dispositivo físico). Quiero que mi aplicación funcione en este dispositivo típico.

¿Cómo puede ser diferente? ¿Por qué está pasando esto? ¿Hay alguna solución para no relanzar la actividad por sí sola?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Puede intentar envolver su hilo de red en savedInstanceState != null . Tuve el mismo problema en Pixel 6 Pro con una llamada fragmentada al iniciar la actividad. La actividad se reiniciará de todos modos, pero en mi caso el fragmento no. Tal vez esto también funcione para ti.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda