6

Niektórzy użytkownicy zgłaszali, że mój ekran aplikacja czasami miga, gdy działa na Androidzie 4.2 (tylko!)Ekran migocze podczas działania w systemie Android 4.2. (Activity zostanie wznowiona ciągły)

Próbowałem na moim urządzeniu, a po włożeniu dzienniki, aktywność zostaje wznowiona i ponownie uruchomiony ponownie, o 3 razy na sekundę.

Więc co zrobiłem jest prześledzenie wywołuje metodę po ponownym uruchomieniu ciągle, i oto wynik:

method trace output

Wydaje się, że problem leży w ViewGroup.resetRtlProperties(), ponieważ jest nowy w systemie Android 4.2 (17).

Nie mogę jeszcze potwierdzić, jeśli jest to błąd, ale czy jest ktoś, kto tego doświadcza lub ma jakieś obejścia?

+0

To może być głupie pytanie, ale jak otworzyć to okno ze statystykami użycia procesora według metod? –

+1

To jest TraceView. http://developer.android.com/tools/debugging/debugging-tracing.html – yuku

Odpowiedz

7

miałem podobny problem, że jest spowodowany przez kombinację dwóch:

  • aktywność w układzie poziomym (gdy urządzenie korzystnym pionowym)
  • kodu w onConfigurationChanged() aplikacji podklasa że zmienił lokum parametru NewConfig

Zamiast zmieniać NewConfig można sklonować tego obiektu oraz zmianę/skorzystać z klon:

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    Configuration configClone = new Configuration(newConfig); 
    // Change/use configClone here 
    ... 
} 
+0

Wydaje się być użyteczne. Dziękuję –

+0

to działa, tylko jedno pytanie, gdybym miał zmienić konfigurację w innym miejscu obok "onConfigurationChanged", czy nadal muszę sklonować? – Zul

2

Podobno dodanie layoutDirection do listy android:configChanges Twojego <activity> w AndroidManifest.xml rozwiązało ten problem.

+0

jak znalazłeś ten problem? – JehandadK