04/08/2011 – 23:07
Android słynie z wielu modyfikacji. Są one szczególnie pomocne w momencie kiedy producent danego telefonu, potrafi porządnie skopać swój własny model, lub w momencie kiedy brakuje nam czegoś w systemie, a co jest nam koniecznie potrzebne, a producent nie kwapi się o żadną aktualizację.
Użytkując swój dawny telefon, Samsung Galxy Spica, doszedłem do wniosku, że nie jest to wcale aż tak tragiczny model, jak niektórzy to określają (ale o tym kiedy indziej). Niewiele rzeczy brakowało mi w Spicy, patrząc na niego jak na swój pierwszy smartfon z Androidem.
Niemniej, przede wszystkim brakowało mi wolnej pamięci RAM. Po uruchomieniu komórki, w Spicy zostawało dla mnie średnio 70 MB pamięci RAM, co w bardzo szybkim tempie potrafiło zejść nawet do 20 MB. Niby 20 MB zostało, jednakże przy takiej ilości Android traci swoją wielką zaletę – płynność i wielozadaniowość. System po prostu zwalnia i to dość porządnie.
Rozwiązań jest wiele. Nie katować telefonu dużą ilością aplikacji uruchamianych w krótkim czasie i przełączaniem się między nimi, nie uruchamiać zbyt wielu daemonów, pozostawiając tylko te konieczne, lub po prostu skorzystać ze swapu.
Swap w przypadku Androida działa trochę inaczej niż na dystrybucjach Linuksowych. Przede wszystkim, w swap (zazwyczaj) nie jest wrzucana zawartość pamięci aktualnie działającej aplikacji, lecz aplikacji uśpionych. Co to oznacza w praktyce? Przy założeniu, że mamy zajęty cały RAM przez aplikacje A, B, C, D, a chcąc uruchomić aplikację X, która wymaga tyle pamięci co A i B razem wzięte, Android wpierw przerzuci zawartość pamięci programów A i B z RAM-u do swap, a dopiero potem załaduje do RAM-u aplikację X. Działa to tak, a nie inaczej, głównie ze względu na inne zarządzanie pamięcią przez Androida.
Zaletą takiego zrzucania aplikacji do swapu jest to, że nowo uruchomiona aplikacja nie straci swojej wydajności, gdyż wszelkie potrzebne dane będą w ramie, co w szczególności widoczne jest w przypadku gier, bądź innych programów obciążających komórkę (przeglądanie ciężkich stron Internetowych, Flash, etc.). W momencie jeżeli będziemy chcieli ponownie wrócić do aplikacji, która została zrzucona do swapu, system nie przeniesie jej z powrotem do RAM-u, dlatego jej przywrócenie potrwa trochę dłużej (pamiętajmy o różnicy szybkości odczytu ze swapu, a ramu). Oczywiście cała sytuacja może ulegnąć zmianie po X minutach, kiedy androidowy task killer, zechce nam ubić coś, o czym zapomnieliśmy, a również siedziało sobie w ramie.
Osobiście jednak nie polecam aż tak zachwycać się swapem na komórce, głównie ze względu na szybkość zapisu i odczytu. W przypadku Androida, swap najczęściej możemy utworzyć na karcie pamięci telefonu, a te niestety nie grzeszą szybkością. Spadek wydajności w działaniu i uruchamianiu aplikacji może być zauważalny.
Pamięć wymiany w żaden cudowny sposób nie poszerzy pojemności układu pamięci RAM Twojego telefonu!
Swap polecam przetestować przede wszystkim osobom, które posiadają małą ilość pamięci RAM w komórce, a przy tym wymagają od niej dużej ilości uruchomionych aplikacji na raz, aby bez problemu się między nimi przełączać, a nie co chwilę włączać ponownie. W takim przypadku, mimo zastosowania swapu, czasowo i tak zyskujemy. Spica jest jednym z telefonów, gdzie możemy rozważyć uruchomienie pamięci wymiany, gdyż ~70MB wolnej pamięci dla użytkownika, to stanowczo za mało (przynajmniej w przypadku moich zastosowań; jeżeli tylko dzwonimy i sms-ujemy, sporadycznie przeglądamy Internet, czy raz na jakiś czas uruchamiamy jakąś aplikację, to zapomnijmy o swapie). Jeżeli posiadasz już około 150-200 MB wolnej pamięci, również wstrzymałbym się od swapu.
Dla swapu istnieje bardzo ciekawa alternatywa, nie spowalniająca aż tak systemu, poprzez transfer danych na kartę pamięci – ale o tym, w kolejnych wpisach.
Posted in Android, Hardware, Linux, Samsung Galaxy GT-I5700 Spica | 7 Comments »