Jak pamięć RAM i szybkość procesora wpływają na ogólną wydajność systemu Android?

25

Ponieważ system Android można zainstalować na wielu urządzeniach, zastanawiam się, jak ważna jest pamięć RAM i szybkość procesora dla wydajności urządzenia. Zawsze pojawiają się kompromisy, gdy coś się zwiększa, a kolejne maleje!

Czy więcej pamięci RAM lub szybszego procesora jest lepsze do ogólnego przeglądania i mniejszego nakładania zadań? Co jeśli jestem zainteresowany graniem lub robieniem wielu rzeczy naraz? Czy więcej pamięci RAM zrekompensuje wolniejszy procesor lub odwrotnie?

sob
źródło
1
BTW: Pamiętaj, że zegar procesora nie jest taki sam jak szybkość procesora. Bardziej pomocne wskaźniki, że zegarem procesora są Mflops, średnie miliony instrukcji na sekundę (MIPS) itp. Różnice między Mflops i MIPS można zauważyć przy niektórych optymalizacjach (np. Optymalizacjach JIT), ponieważ niektóre procesory mają specjalne instrukcje, które pozwalają obliczyć mote na raz . Nie są one jednak stosowane w kodzie natywnym, chyba że aplikacja została skompilowana z obsługą tych instrukcji.
wer.

Odpowiedzi:

39

W kontekście Androida, więcej pamięci RAM oznacza, że ​​Android może przechowywać więcej programów do spania w pamięci RAM, dzięki czemu będą gotowe do szybkiego wznowienia po powrocie do aplikacji. Więcej pamięci RAM oznacza, że ​​Android poświęci mniej czasu na zabijanie i ponowne ładowanie aplikacji z pamięci wewnętrznej / karty SD, a zamiast tego poświęci więcej czasu na wykonywanie rzeczywistej pracy, na której Ci zależy. Oznacza to, że więcej pamięci RAM zwykle zapewnia lepsze / szybsze przełączanie zadań. Ponadto, więcej pamięci RAM oznacza, że ​​prawdopodobieństwo zginięcia ekranu głównego jest mniejsze; i nie doświadczysz tego 10-sekundowego oczekiwania, które wydaje się być na zawsze. Większa ilość pamięci RAM pozwala także na uruchamianie złożonych aplikacji, które naturalnie wymagają dużej ilości pamięci, np. Edytor zdjęć / filmów, złożone gry itp.

Wyższy procesor jest w stanie obliczać rzeczy znacznie szybciej, podczas gdy może to początkowo wydawać się kuszące, warto zauważyć, że większość programów - z wyjątkiem gier i syntetycznych testów porównawczych i prawdopodobnie stron o dużej zawartości pamięci flash - jest związana z operacjami we / wy, a nie z procesorem -granica; innymi słowy, większość programów czeka na transmisję sieciową, odczyt pamięci flash, odczyt DMA, przetwarzanie zdarzenia dotyku itp. na zakończenie, zamiast oczekiwania na pewne obliczenia. W aplikacjach związanych z procesorem zwiększenie szybkości procesora może oznaczać mniejsze opóźnienie między dotknięciem ekranu a aktualizacją ekranu w celu odzwierciedlenia zdarzenia dotyku. Jednak do pewnego momentu nie będzie już zauważalnej korzyści z dodania jeszcze większej ilości procesora; po przekroczeniu pewnego punktu czas realizacji wejściowej będzie znacznie szybszy niż czas realizacji naszego własnego mózgu (ok. 100-200ms) i nie będziemy w stanie dostrzec korzyści z dodania jeszcze szybszego procesora. Należy również pamiętać, że czas realizacji wejścia-wyjścia zależy od wielu innych czynników, np. Opóźnienia kabli, prędkości magistrali itp. Po drugie, posiadanie dodatkowego czasu procesora do oszczędzenia oznacza również, że Android może przypisać te zapasowe cykle procesora na procesy w tle, dzięki czemu procesy w tle mogą działać lepiej.

Podsumowanie

Więcej pamięci RAM:

  • lepsze przełączanie zadań
  • może uruchamiać bardziej skomplikowane aplikacje lub otwierać większe / bardziej złożone pliki

Więcej procesora:

  • szybsze przetwarzanie między wejściem a odpowiedzią (mniejsze opóźnienie) w aplikacjach związanych z procesorem
  • lepsze przetwarzanie w tle

Krótko mówiąc, oba są równie ważne; Twój osobisty wzorzec użytkowania określi, który jest dla Ciebie bardziej wartościowy. Jeśli zazwyczaj pozostajesz w jednym programie i jesteś wrażliwy na opóźnienia wejścia-na-wyjście, to szybszy procesor będzie dla ciebie cenniejszy; jeśli ciągle zmieniasz zadania między wieloma różnymi aplikacjami lub jeśli chcesz uruchamiać złożone aplikacje wymagające dużej ilości pamięci, aby otwierać złożone duże pliki, to posiadanie dodatkowej pamięci RAM będzie dla ciebie bardziej cenne.

Lie Ryan
źródło
1
Dobra robota, Lie ... najlepsza jak dotąd odpowiedź.
mlevit
16

Jest to bardzo subiektywne, ponieważ zależy od tego, co robisz.

Po pierwsze, prawdziwa wielozadaniowość ( uruchamianie wielu aplikacji ) wymaga szybszego procesora, aby wszystkie procesy mogły działać z przyzwoitą prędkością. Masz rację, że aby wszystkie te aplikacje pozostały w pamięci, potrzebujesz więcej pamięci RAM.

Mam 512 MB pamięci RAM, a moje procesy zaczynają się zabijać tylko wtedy, gdy uruchomię coś, co używa ton, takich jak Angry Birds. Z drugiej strony mam procesor 1 GHz i nigdy nie zauważam spowolnień, niezależnie od tego, co robię (poza Angry Birds ugrzęzającym podczas długich zabaw).

Jeśli korzystasz z poczty e-mail, Twittera, Facebooka, Internetu itp., Prawdopodobnie potrzebujesz więcej pamięci RAM. Jeśli chcesz grać, potrzebujesz przyzwoitej ilości pamięci RAM, ale procesor i układ graficzny będą ważniejsze. Ogólnie.

Innym ważnym czynnikiem jest szybkość I / O. Jeśli masz telefon Samsung korzystający z RFS, zainstaluj opóźnienie EXT4 - zauważysz ogromną poprawę. Jeśli nagrywasz wideo HD, możesz chcieć szybszej karty SD (mamy pytania na ten temat) i tak dalej.

Rozmiar pamięci jest w dużej mierze niezwiązany z wydajnością, ale należy również wziąć to pod uwagę. Wielu użytkowników kopie się po zainstalowaniu kilku aplikacji i stwierdzeniu, że zabrakło im miejsca. Bardzo polecam urządzenie takie jak mój Vibrant, które ma nadmierne 2 GB wewnętrznej pamięci (system + dane) (i 14 GB wewnętrznej karty SD, a także zewnętrzną kartę SD).

Matthew Read
źródło
Zredagowałem swoje pytanie, aby było mniej subiektywne.
sob.
3
Przez większość czasu nie jesteśmy tak naprawdę „wielozadaniowi”. Możemy mieć uruchomionych kilka aplikacji, ale aplikacje działające w tle zwykle nie robią nic, więc głównym problemem jest ich utrzymanie, co zajmuje pamięć. Jeśli są aktywnie uruchomione, na przykład słuchając mediów strumieniowych i przeglądania Internetu lub grania w gry, powiedziałbym, że szybkość procesora jest ważniejsza (w normalnych standardach sprzętowych, posiadanie szybkiego procesora jest bez znaczenia, jeśli masz 1kb pamięci RAM ).
Matt
Matt, zamierzałem napisać coś podobnego. Myślę jednak, że zadania w tle zwykle nie wymagają dużej mocy obliczeniowej. Mogą korzystać z niektórych operacji we / wy, aw niektórych przypadkach mogą być intensywne we / wy (np. Pobieranie plików, kopiowanie plików), ale wydaje się mało prawdopodobne, aby obciążały one procesor. Tak więc, jak wspomniano w innym poście, procesor jest prawdopodobnie ważniejszy dla intensywnego pojedynczego taksowania (np. Gier), a pamięć RAM jest ważniejsza dla intensywnego przełączania zadań.
wer.
Cóż, odtwarzacze muzyczne są wyjątkiem: mogą one wymagać dużej mocy obliczeniowej procesora i prawdopodobnie będą działać w tle.
wer.
1
@ v6ak: aplikacje działające w tle intensywnie we / wy mogą potencjalnie zakłócać operacje we / wy na pierwszym planie, aw źle napisanych aplikacjach (np. aplikacje, które wykonują operacje we / wy w wątku interfejsu użytkownika), może to być również przyczyną słabej reakcji lub opóźnień , Nie wiem, czy Android ma pierwszeństwo we / wy na pierwszym planie, chociaż wierzę, że tak.
Lie Ryan,
4

W telefonie większość używanych programów to poczta elektroniczna, wiadomości błyskawiczne, przeglądarka internetowa ...

Tego rodzaju aplikacje nie potrzebują mocnego procesora, ale biorąc pod uwagę fakt, że będziesz używać telefonu z Androidem, będziesz uruchamiać wiele aplikacji jednocześnie, co wymaga dodatkowego czasu procesora, ale co ważniejsze, potrzebuje wystarczającej ilości pamięci RAM, aby pomieścić wszystkie aplikacje.

Tak więc, więcej niż jedna, ważna jest równowaga telefonu Android. Dzięki procesorowi 2 Ghz i 512 MB pamięci RAM marnujesz moc procesora, ponieważ telefon nie będzie miał wystarczającej ilości pamięci, aby pomieścić wystarczającą liczbę aplikacji, aby zużyć taką liczbę cykli procesora. To samo dzieje się z procesorem 500 MHz i 2 Gb lub RAM, procesor nie będzie miał wystarczającej liczby cykli, aby wykonać wystarczającą liczbę aplikacji, aby zużyć taką ilość pamięci RAM.

Warto więc rozważyć BALANCE . Procesor o częstotliwości 1 GHz z 512 do 1 GB pamięci RAM to świetne połączenie. To samo dotyczy 600MHz z 256Mb do 512Mb (trochę słabej w najnowszych wersjach Andorid) lub nowych dwóch rdzeni 1Ghz CPU z 712Mb lub więcej pamięci RAM.

Biorąc pod uwagę te względy, zalecam poszukiwanie telefonu z procesorem 1 GHz lub większym i 1 GB lub więcej pamięci RAM, ten telefon będzie wystarczająco silny, aby uruchomić wszystkie aplikacje, których będziesz potrzebować w ciągu najbliższych 2 lat, czyli maksymalnego okresu czas, w którym będziesz korzystać z telefonu, podając tempo ewolucji technologii mobilnej.

Doliveras
źródło
1
... na koszt twojego pierworodnego dziecka; przynajmniej w niektórych regionach świata.
Lie Ryan
@Lie Ryan, prawda, ale niestety jest to cena posiadania ostatniego gadżetu.
Doliveras
-1

W rzeczywistości przepustowość pamięci jest najbardziej ograniczająca. Po drugie, dobry balans specyfikacji, w tym rozmiar pamięci RAM, szybkość procesora i równoległość.

pjv
źródło