Ciągle pojawia się ten błąd po uruchomieniu aplikacji na karcie Galaxy Tab 2 (Samsung). Aplikacja, którą rozwijam, jest dość skomplikowana i bardzo trudno wyśledzić, skąd pochodzi ten błąd. Zacząłem więc rozbierać kawałek po kawałku mojej aplikacji i skończyło się na aplikacji mapowej, którą można znaleźć po hereNieprzyjęty wyjątek zgłoszony przez finalizatora: błąd interfejsu API Google lub błąd jądra Samsunga?
Po rozebraniu skończyło się na aplikacji, która jest tylko mapview bez overlayItem! więc po poradnik, aż część 1 pkt 9.
Oto aktywny 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;
}
}
ja naprawdę nadepnął!
ktoś jakieś sugestie?
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)
Czy jesteś absolutnie pewny, że nie zapomniałeś zamknąć 'Cursora' gdzieś w swojej aplikacji? – tolgap
Wygląda na to, że jest to duplikat: http://stackoverflow.com/questions/12158228/uncaught-exception-thrown-by-finalizer – Phil
Problem wydaje się być związany z konkretnym urządzeniem - lub z Androidem: uruchamianie tego w Samsung Galaxy SII z systemem Android 4.0.4 z tym samym kodem generuje tylko ostrzeżenie: 10-29 14: 19: 46.251: W/CursorWrapperInner (29221): Kursor sfinalizowany bez wcześniejszego zamknięcia() – WiZarD