2013-08-19 18 views
15

Uaktualniłem moją tabletkę Samsung Galaxy Tab 2 do Androida 4.2.2 zeszłej nocy i od tego czasu zauważyłem kilka dziwnych błędów w LogCat, które nie pojawiły się przed uaktualnieniem ".Dziwny błąd od uaktualnienia do Androida 4.2.2 - Aktywność wyciekła IntentReceiver

Miałem nadzieję, że podświetlam ukryty błąd lub wyciek pamięci w mojej aplikacji, ale nie mogę znaleźć niczego.

Wydaje się, że występuje tylko wtedy, gdy aktywność, na której się znajduję, ma numer Spinner, a rozszerzenie Spinner jest rozszerzone.

Błąd jest poniżej.

Activity uk.co.xxxx.xxxx has leaked IntentReceiver com.immersion.androi[email protected]41e4bac0 that was originally registered here. Are you missing a call to unregisterReceiver()?

Czy ktoś widział? czy myślisz, że możesz zignorować to, co dzieje się tylko na jednym z moich urządzeń?

--- Edit ---

I, nawiasem mówiąc, nie mam żadnych rejestracji odbiorników wszędzie, więc nie ma nic do wyrejestrowania.

+2

Właśnie zmodernizowane dzisiaj i widzę ten sam błąd. Również tutaj nie zarejestrowano odbiorników. – celoftis

+0

@celoftis Czy twoja obejmuje również sterowanie pokrętłem? –

+0

Nie, no błystki w działalności, w której jestem expereiencing to ... – celoftis

Odpowiedz

0

Ze śladu stosu powiedziałbym, że Twoja aktywność (tutaj zamaskowana) zarejestrowała HapticFeedbackBroadcastReceiver, która nie została poprawnie zwolniona. Zwykle odbywa się to w hakowcu cyklu życia onPause(), aby można było go wywołać po zatrzymaniu lub zamknięciu Activity.

Przykładowy kod:

@Override 
protected void onPause() { 

    super.onPause(); 
    if(broadcastReceiverInstance != null){ 
     unregisterReceiver(broadcastReceiverInstance); 
    } 
} 

Jeśli nie zarejestrował żadnych odbiorników sobie może system jest oparte na klawiaturze, które pojawia się, więc może to być dobry pomysł, aby ukryć klawiatur lub jakikolwiek inny element używane w Twojej aplikacji, które mogą mieć aktywowane sprzężenie dotykowe. Pomyśl o niestandardowych klawiaturach, niestandardowych widokach, ... cokolwiek. Aby to sprawdzić, potrzebowalibyśmy więcej kodu.

9

mam podobny problem i poprosiłem to pytanie na forum dotykowe dewelopera i otrzymał następującą odpowiedź:

Wyjątkiem widać jest nieszkodliwe ostrzeżenie i OS zajmie uwolnienia zasoby wymienione w wyjątku. Innymi słowy, nie trzeba się martwić ani nic z tym nie robić.

Jeśli potrzebujesz żadnych innych szczegółów - go here

+0

To nie są pocieszająco słowa. Wycieki są łatwo wykrywane i oczyszczane przy wyłączaniu, ale do tego czasu mogą się gromadzić z czasem, zasysając zasoby. W rzeczywistości może nawet stanowić zagrożenie bezpieczeństwa, jeśli może stać się celem ataku typu DoS (wielokrotnie wywołującego cokolwiek powoduje wyciek). Jest to kolejny przykład złego kodowania ze strony oprogramowania Samsung/oprogramowania. – Merk

Powiązane problemy