vida onstop onrestart developers created ciclo activity android screen android-activity runtimeexception

onstop - onresume fragment android



"RuntimeException: realizar una pausa de actividad que no se reanuda" (1)

(Veo una pregunta similar sobre stackoverflow, pero la respuesta no es verdadera, y el contexto del problema también es un poco diferente).

"java.lang.RuntimeException: realizar una pausa de actividad que no se reanuda"

Desarrollo una aplicación de juego (que usa vistas normales y GLSurfaceView). Si enciendo y apago la pantalla de mi teléfono muy rápido, a veces puedo ocasionar esta excepción (arrojado por ActivityThread), pero mi aplicación se ejecuta normalmente después de la excepción. Mi aplicación es paisajística, y esto también se establece correctamente en el manifiesto (incluida la orientación y los cambios de configuración también).

¿Esta bien?

Es una RuntimeException lanzada por ActivityThread bajo el nombre de la aplicación de mi aplicación, pero no termina mi aplicación.


Acabo de tener este problema porque estaba llamando a activity.recreate () (o .finish () y .startActivity () - dependiendo de la versión de Android). Por supuesto, solo llamaría a esas funciones porque quiere volver a cargar el idioma, restablecer la orientación y cosas similares que solo puede hacer con la actividad recreativa.

Sin embargo, no puede llamar a esas funciones (.finish () o .recreate ()) de onResume (). Si lo hace, recibirá la excepción no fatal mencionada.

"Solucioné" el problema al retrasar la llamada a .recreate () durante un milisegundo para que la actividad se reanude correctamente y solo se elimine.

Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { log.i("TX.refresh", "Switching to %s from %s", lang, lang); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { ctx.finish(); ctx.startActivity(ctx.getIntent()); } else ctx.recreate(); } }, 1);