android – Uncaught exception thrown by finalizer: Google API bug Or Samsung kernel bug?-ThrowExceptions

Exception or error:

I keep getting this error when launch my app on my galaxy Tab 2 (Samsung).
The app i’m developing is quite complicated and it is very hard to track down where this error originates from. So I started to strip down piece by piece my app and I ended up with just a mapview application as you can find here

After stripping I ended up with an app that is just a mapview without an overlayItem !
So following the tutorial until Part 1 point 9.

Here’s the MapView Activity:

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;
}
}

I am truly stomped!

anyone any suggestions ?

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)
How to solve:

The problem is not exactly device or Android version specific. You have Strict Mode enabled on devices displaying the error. Additionally your cursor needs to be closed before you attempt to close the database.

###

It appears that a cursor may still be open, either in this code file, or somewhere else in your application. Perhaps this link “Android list view with simplecursor adapter crashes application” will be of some help.

###

uncaught exception comes only when you did not surround that block of code inside try catch
according to me line like this “” CursorWrapper.close(CursorWrapper.java:49) “” will tell you the file and line of file that is creating problem so just go to that line of that particular file and just surround it with try catch. i think you are closing your unoccupied (empty) cursor thatswhy this exception is coming. or do one thing ….give me all your .java class name and also the full error that is displaying. i will surely solve 🙂

###

Try running your code in background thread. Plus update your sdk manager one more time, the extra times in SDK.

Leave a Reply

Your email address will not be published. Required fields are marked *