Ich verwende AppState, um meine aktuellen Android-Anwendungsdaten zu speichern. Wenn ich die Methode load
aufrufen und einen Callback-Listener einstellen, sehe ich folgendes in meiner logcat-Ausgabe. Internal data leak within a DataBuffer object detected! Be sure to explicitly call close() on all DataBuffer extending objects when you are done with them. ([email protected])
Das ist mein Methodenaufruf AppStateManager.load(getApiClient(), APP_STATE_STATE_KEY).setResultCallback(new ResultCallback() { @Override public void onResult(final StateResult stateResult) { } });
zum Beispiel (I explizit bin keine Puffer zu öffnen) Die Methode onResult()
ist leer. Warum sehe ich diesen Logcat-Eintrag? Welchen Puffer brauche ich in der Nähe?Android AppStateManager :: Interner Datenleck innerhalb eines DataBuffer-Objekts erkannt
8
A
Antwort
4
Es ist kein Puffer, den Sie schließen müssen, sondern die Verbindung. Selbst wenn Ihre onResult-Methode leer ist, ist sie das Ergebnis eines Rückrufs, was bedeutet, dass eine Verbindung hergestellt wurde.
sah ich die gleiche logcat Ausgabe mit Google Maps Api, wenn ich ommited
GoogleApiClient.disconnect()
am Ende der Aktivität/Fragment Lifecycle
weiß niemand, wie diese „interne Datenleck“ -Nachrichten zu stoppen vom Erscheinen? Wie kann ich einen DataBuffer schließen, den ich nicht explizit geöffnet habe? – Hector
hast du eine Lösung dafür gefunden? – swalkner
@swalkner, danke für die Nachfrage, Nein, ich habe nie eine Lösung gefunden, ich vermute es ist ein "Feature" der Verwendung der Android-Code-Basis, hoffentlich wird das Android-Entwickler-Team es eines Tages ansprechen und es wird endlich gelöst werden. – Hector