2014-06-14 8 views
8

Używam AppState do przechowywania bieżących danych aplikacji Android. Po wywołaniu metody load i ustawieniu detektora wywołania zwrotnego w wynikach logcat widzę następujące elementy. 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]) to my sposób połączenia (nie am wyraźnie otwierania bufory) AppStateManager.load(getApiClient(), APP_STATE_STATE_KEY).setResultCallback(new ResultCallback() { @Override public void onResult(final StateResult stateResult) { } }); np Metoda onResult() jest pusta, więc dlaczego widzę ten wpis logcat? Jakiego bufora potrzebuję w pobliżu?Android AppStateManager :: Wewnętrzny wyciek danych w wykrytym obiekcie DataBuffer

+1

ma nikt wiedzieć, jak zatrzymać te wiadomości „Internal wycieku danych” od pojawiania się? jak mogę zamknąć DataBuffer i havent jawnie otwarte? – Hector

+0

znalazłeś rozwiązanie tego problemu? – swalkner

+1

@walker, dziękuję za pytanie, nigdy nie znalazłem rozwiązania, domyślam się, że jest to "funkcja" korzystania z bazy kodu android, mam nadzieję, że zespół androidów zajmie się nim pewnego dnia i nareszcie zostanie rozwiązany. – Hector

Odpowiedz

4

Nie jest to bufor, który należy zamknąć, ale zamiast tego połączenie. Nawet twoja metoda onResult jest pusta, jest wynikiem wywołania zwrotnego, co oznacza ustanowienie połączenia.

Widziałem taką samą moc logcat z Google Maps API, kiedy, pominięte

GoogleApiClient.disconnect() 

pod koniec cyklu aktywności/fragmentu

Powiązane problemy