我看到一種奇怪的情況。Android:在對話框中關閉活動
我讀從數據庫的一些信息,然後將彈出一個對話框: 僞
val = DBaseManager.readValue(i,POS_ONE);
if(val == 1)
{
Dialog_Test myDialog = new
Dialog_Test (myContext,"",new addListener(),DBaseManager);
myDialog.show();
}
,你可以看到我傳遞到對話框中DBaseManager所以它也可以使用它。
然後在那裏我用這樣的:
DBaseManager.readValue(k,POS_TWO);
等
現在這個工程的99%的時間,但是我有一些指向這些行對話框,在崩潰日誌空指針異常。
對我來說,這表明在某些設備上,我的onPause或OnDestory方法在主要活動中被調用,該活動會關閉並消除DBaseManager。這些是1.6,2.2和2.3的設備。
所以問題是爲什麼,以及如何預防?我已經添加了一些空指針檢查來防止崩潰,但它仍然很不理想。
UPDATE:在我的設備上,至少當我做一個屏幕旋轉活動重新啓動,對話框消失 - 它可能會在一些對話框上保持?
謝謝,我認爲這是清理大物體的第二種情況。我已經覆蓋了所有內容,但無法重現它只發生在現場。我想我會創建一個util例程,按照建議重新打開它。 – Chris 2011-01-14 16:21:27