Ich habe eine seltsame Situation, die ich sehe.Android: Aktivität schließt im Dialog
ich einige Informationen aus einer Datenbank lese, dann einen Dialog, Erziehung: PSEUDO
val = DBaseManager.readValue(i,POS_ONE);
if(val == 1)
{
Dialog_Test myDialog = new
Dialog_Test (myContext,"",new addListener(),DBaseManager);
myDialog.show();
}
wie Sie ich die DBaseManager gelangen in den Dialog sehen, so können Sie es auch verwenden können.
dann dort in ich es wie folgt verwendet werden:
DBaseManager.readValue(k,POS_TWO);
usw.
Nun ist diese 99% der Zeit arbeitet, jedoch habe ich zeigen einige Absturzprotokolle mussten diese Zeilen im Dialog mit Nullzeigerausnahmen
Für mich bedeutet dies, dass auf einigen Geräten meine onPause- oder OnDestory-Methoden in der Hauptaktivität aufgerufen werden, die DBaseManager schließt und auf Null setzt. Dies sind 1,6, 2,2 und 2,3 Geräte.
Also ist die Frage warum und wie zu verhindern? Ich habe ein paar Nullzeiger-Checks hinzugefügt, um die Abstürze zu verhindern, aber es ist immer noch alles andere als ideal.
UPDATE: Auf meinen Geräten zumindest wenn ich eine Bildschirmdrehung mache wird die Aktivität neu gestartet und der Dialog verschwindet - könnte es auf manchen der Dialoge bleiben?
Danke, ich denke es ist der zweite Fall mit dem großen Objekt aufgeräumt werden. Ich habe alles außer Kraft gesetzt, kann es aber nicht reproduzieren, es passiert nur im Feld. Ich denke, ich werde eine Util-Routine erstellen, um es zu öffnen, wie es vorgeschlagen wird. – Chris
Das gleiche hier ... Ich bekomme Fehlerberichte aus dem Feld, die ich nicht reproduzieren kann und die ich bei meinen eigenen Tests nie mit der gleichen Art von Verhalten gesehen habe. Unordentliches Zeug. lol – Rich