Mam aplikacja działa na urządzeniach typu tablet z dwoma szybami, na lewym jednego mam prostą animację na zastąpienie fragmentu:Dlaczego ustawienie sprzętu przypisanego do wartości false powoduje przyspieszenie działania?
private void loadLeftFragment(Fragment fragment, boolean isAnimated) {
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
if (isAnimated) {
fragmentTransaction.setCustomAnimations(android.R.anim.slide_in_left,
android.R.anim.slide_out_right);
}
fragmentTransaction.addToBackStack(null);
fragmentTransaction.replace(R.id.left_frame, fragment).commit();
}
Proszę zauważyć spokój animacji kodu. Działa idealnie gładko na Nexusie 7, ale na Galaxy Tab 2 nie jest. Więc eksperymentowałem z tagiem android:hardwareAccelerated="true/false"
w AndroidManifest.xml. I mam to, że gdy wartość jest ustawiona na false
animacja na Galaxy Tab 2 jest taka, jak na Nexusie 7, czyli gładka i dobrze wyglądająca. Nie spodziewałem się takiego zachowania, zakładając, że powinno być odwrotnie - ustawienie wartości hardwareAccelerated
na true
powoduje, że rzeczy stają się bardziej płynne. Ale zdarza się, jeśli ustawię go na true
Widzę opóźnienia, kiedy false
jest po prostu miło! Czego tu mi brakuje? Dziękuję Ci.
Ale jak budować zależności? Czy masz na to jakiś działający przykład na różnych rzeczywistych urządzeniach? – djdance