android - Excepción no detectada lanzada por el finalizador: ¿Error de API de Google o error de kernel de Samsung?
exception finalizer (4)
Sigo recibiendo este error cuando inicio mi aplicación en mi galaxy Tab 2 (Samsung). La aplicación que estoy desarrollando es bastante complicada y es muy difícil rastrear dónde se origina este error. Así que comencé a desarmar pieza por pieza mi aplicación y terminé con solo una aplicación de mapview como puedes encontrar here
Después de eliminar, terminé con una aplicación que es solo una vista de mapa sin un elemento de superposición. Así que siguiendo el tutorial hasta la parte 1 punto 9.
Aquí está la actividad de MapView:
package com.****.googlemapstutorial;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import android.os.Bundle;
import android.view.Menu;
public class MainActivity extends MapActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
}
¡Estoy realmente pisoteada!
¿Alguien tiene alguna sugerencia?
The error:
10-28 21:09:22.872: E/System(16840): Uncaught exception thrown by finalizer
10-28 21:09:22.872: E/System(16840): java.lang.IllegalStateException: Binder has been finalized!
10-28 21:09:22.872: E/System(16840): at android.os.BinderProxy.transact(Native Method)
10-28 21:09:22.872: E/System(16840): at android.database.BulkCursorProxy.close(BulkCursorNative.java:288)
10-28 21:09:22.872: E/System(16840): at android.database.BulkCursorToCursorAdaptor.close(BulkCursorToCursorAdaptor.java:133)
10-28 21:09:22.872: E/System(16840): at android.database.CursorWrapper.close(CursorWrapper.java:49)
10-28 21:09:22.872: E/System(16840): at android.content.ContentResolver$CursorWrapperInner.close(ContentResolver.java:1591)
10-28 21:09:22.872: E/System(16840): at android.content.ContentResolver$CursorWrapperInner.finalize(ContentResolver.java:1604)
10-28 21:09:22.872: E/System(16840): at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:182)
10-28 21:09:22.872: E/System(16840): at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168)
10-28 21:09:22.872: E/System(16840): at java.lang.Thread.run(Thread.java:856)
El problema no es exactamente el dispositivo o la versión de Android específica. Tiene el modo estricto habilitado en los dispositivos que muestran el error. Además, debe cerrar el cursor antes de intentar cerrar la base de datos.
Intente ejecutar su código en el hilo de fondo. Además, actualice su administrador de SDK una vez más, los tiempos adicionales en SDK.
Parece que un cursor todavía puede estar abierto, ya sea en este archivo de código, o en algún otro lugar de su aplicación. Tal vez este enlace " Vista de la lista de Android con el adaptador simplecursor bloquee la aplicación " pueda ser de alguna ayuda.
la excepción no detectada se produce solo cuando no rodeaste ese bloque de código dentro de la línea de captura de prueba, como "" CursorWrapper.close (CursorWrapper.java:49) "" te dirá el archivo y la línea de archivo que crea el problema, Simplemente vaya a esa línea de ese archivo en particular y simplemente rodéelo con try catch. Creo que está cerrando su cursor desocupado (vacío) que viene con esta excepción. o haz una cosa ... dame todo tu nombre de clase .java y también el error completo que se muestra. seguramente lo resolveré :)