2013-01-22 16 views
5

Aplikacja, którą buduję, ma prostą animację przycisku obrazu (obracanie) przed rozpoczęciem następnej czynności. Ja testowałem go na emulatorze i 5 różnych urządzeń:Niesamowita animacja na różnych urządzeniach z Androidem

  • Samsung GT-I5500

    Samsung Galaxy Nexus

    Samsung Galaxy S2

    Motorola Razr Maxx

    HTC (Nie pamiętam modelu)

Animacja działała poprawnie we wszystkich modelach, z wyjątkiem Nexusa. Na Nexusie urządzenie czeka na czas trwania animacji (500 ms) przed rozpoczęciem następnej czynności, więc zamiast animacji - tylko irytujące (i pozornie niewytłumaczalne dla użytkownika) opóźnienie. Wszystkie urządzenia były uruchomione Jelly Bean z wyjątkiem GT-I5500.

Pytania:

1) Dlaczego praca animacji na niektórych urządzeniach, a nie innych, nawet zainstalowana ta sama wersja systemu operacyjnego?

2) Czy istnieje sposób sprawdzenia, czy urządzenie reaguje na animację? (Początkowo myślałem, że ma to coś wspólnego z wersją SDK, ale nie).

Odpowiedz

4

Audio, wideo, akceleracja GPU zależy od sprzętu. Możesz żyć w pułapce Javy niezależnie od platformy i istnieją interfejsy i dziedziczenie. W rzeczywistości istnieje rynek:

  • każdego producenta chcą coś specjalnego mu się pozyskać nowych klientów pieniądze
  • istnieją programy wykonane przez programy te mogą mieć błędy, a jeśli to możliwe jaskinia => go ma, ponieważ żadne z testów nie jest w 100% przypadków.
+0

Rozumiem, ale czy nie byłoby bezpiecznie założyć, że przynajmniej Samsung S2 i Samsung Nexus, działający w tym samym systemie operacyjnym, interpretowałyby animacje w ten sam sposób? – LMVogel

+0

@LMVogel Te dwa telefony "Samsunga" są bardzo różne, jeden to Samsung, a drugi ** zbudowany ** przez Samsunga, ale jest to urządzenie Google. System operacyjny na każdym będzie zupełnie inny, ponieważ na urządzeniu innym niż Nexus producent zmodyfikuje Androida, aby jego telefon był inny, jak powiedział Matheszabi - często też będzie to nosił operator. Dobrym tego przykładem są Samsungy w niektórych krajach, które właśnie dostały JellyBean, ale urządzenia Nexus miały je od miesięcy, ponieważ Samsung je modyfikuje. Z emulatorami może być inaczej, w zależności od ich dokładności, ale tak właśnie jest w przypadku prawdziwych urządzeń. – seaplain

+0

Wszystko, co powiedzieliście, to czy można się dowiedzieć, jak zachowa się urządzenie? A jeśli nie "zaakceptuje" animacji, pominie ją? Jak powiedziałem w moim pytaniu, urządzenie, które nie wykonuje animacji po prostu wydaje się zablokowane, dopóki nie przejdzie do następnej czynności. – LMVogel

Powiązane problemy