Tengo una actividad que puede tener subprocesos en ejecución cuando el usuario presiona hacia atrás y termina la actividad. ¿Qué pasa con esos hilos en ese punto? ¿Intentarán todos completar a menos que los interrumpa en Destroy()?¿Qué sucede con los hilos y vistas de una actividad cuando se destruye?
Por ejemplo, ¿es inseguro el siguiente código, porque mis vistas y el cursor se pueden destruir si la actividad finaliza antes del hilo?
La razón por la que pregunto es que tengo bloqueos ocasionales al terminar actividades que aún no he depurado con éxito, porque ocurren muy pocas veces y nunca mientras estoy en modo de depuración. Desde entonces, comencé a comprobar si mis objetos de vista son nulos antes de hacerles algo en runOnUIThread(). No estoy seguro si esa es la solución más limpia, o si ese es el problema en absoluto.
new Thread()(
public void run(){
crunchOnSomethingForAwhile(mCursor);
MyActivity.this.runOnUIThread(new Runnable(){
public void run(){
mTextView.setText("thread complete");
mCursor.close();
}
}
}
).start();
¿Qué dice LogCat cuando ocurren estos bloqueos? – alexanderblom
Han sucedido solo cuando estaba fuera de mi computadora, por lo que no estaba conectado a LogCat. Tal vez me falta algo realmente básico, pero cuando intento descargar mi registro más tarde en la consola de Windows, solo obtengo el último par de páginas de registros en la ventana de la consola, supongo que se está quedando sin espacio. Necesito averiguar cómo volcar el archivo como un archivo en mi PC. – Tenfour04