2012-10-28 29 views
22

在我的galaxy Tab 2(Samsung)上啓動我的應用程序時,我不斷收到此錯誤。 我正在開發的應用程序非常複雜,並且很難找出這個錯誤來自哪裏。所以我開始逐段剝離我的應用程序,我最終只用了一個mapview應用程序,因爲你可以找到here終結者引發的未捕獲異常:Google API bug或三星內核bug?

剝離後我結束了一個應用程序,只是一個沒有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) 
+3

你確定你沒有忘記在你的應用程序的某個地方關閉一個'Cursor'? – tolgap

+0

似乎是這樣的一個副本:http://stackoverflow.com/questions/12158228/uncaught-exception-thrown-by-finalizer – Phil

+0

該問題似乎是設備 - 或 - Android版本特定:在三星銀河SII運行android 4.0.4運行相同的代碼只會產生一個警告:10-29 14:19:46.251:W/CursorWrapperInner(29221):光標沒有事先關閉完成() – WiZarD

回答

0

未捕獲的異常只來當你沒有包圍的代碼塊內嘗試捕捉 根據我這樣的「行」 CursorWrapper.close(CursorWrapper.java:49)「」會告訴你該文件正在創建問題的文件的一行,因此只需轉到該特定文件的那一行,並用try catch將其包圍即可。我想你正在關閉你的未佔用(空)光標,因爲這個例外即將到來。或者做一件事情....給我所有.java類名稱以及顯示的完整錯誤。我一定會解決:)

1

該問題不完全是設備或Android版本特定。您在顯示錯誤的設備上啓用了嚴格模式。另外,在嘗試關閉數據庫之前,需要關閉光標。

1

嘗試在後臺線程中運行您的代碼。 Plus再次更新您的SDK經理,額外的時間在SDK中。