终结者抛出未捕获的异常:谷歌API错误或三星内核错误?

时间:2012-10-28 19:36:23

标签: android exception finalizer mapactivity

在我的Galaxy Tab 2(三星)上启动我的应用程序时,我一直收到此错误。 我正在开发的应用程序非常复杂,很难找到此错误源自何处。所以我开始逐个删除我的应用程序,我最终得到了一个mapview应用程序,你可以找到here

剥离后我最终得到的应用程序只是没有overlayItem的mapview! 所以按照教程直到第1部分第9点。

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

我真的被踩了!

有人有什么建议吗?

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)

4 个答案:

答案 0 :(得分:1)

问题不在于设备或Android版本。您在显示错误的设备上启用了严格模式。此外,在尝试关闭数据库之前,需要关闭光标。

答案 1 :(得分:1)

尝试在后台线程中运行代码。另外,再次更新您的sdk管理器,SDK中的额外时间。

答案 2 :(得分:1)

在此代码文件或应用程序的其他位置,似乎仍可以打开游标。也许这个链接“Android list view with simplecursor adapter crashes application”会有所帮助。

答案 3 :(得分:0)

未捕获的异常仅在您未在try catch中包围该代码块时出现 根据我这样的行“”CursorWrapper.close(CursorWrapper.java:49)“”会告诉你创建问题的文件和文件行,所以只需转到该特定文件的那一行,然后用try catch包围它。我认为你正在关闭你未占用的(空)光标,这是为什么这个例外即将到来。或做一件事....给我你所有的.java类名称以及显示的完整错误。我一定会解决:))