Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

224
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!