Logo pl.androidermagazine.com
Logo pl.androidermagazine.com

Dostrajanie ustawień minfree (poprawa wielozadaniowości Androida)

Spisu treści:

Anonim

Cześć ludzie! Jerry wraca z kolejną ciekawą sztuczką, którą możesz zrobić na telefonie z Androidem. Ten pomaga utrzymać płynność działania i daje nam kontrolę nad wewnętrznym zabójcą zadań Androida. Podobnie jak większość rzeczy, które wpływają na działanie Androida na niskim poziomie, ta wymaga rootowania, ale jest to dobra lektura nawet dla tych, którzy nie czują potrzeby rootowania (i łamania gwarancji!), Ponieważ możesz po prostu lepiej zrozumieć o tym, co dzieje się za kulisami. Otwórz kilka dodatkowych kart w przeglądarce, przygotuj telefon (a może nawet kabel USB) i śledź przerwę.

Aha, i ostrzeżenie: To jest dość niski poziom rzeczy. Nie jest to trudne, ale to, co robi, jest nieco zaawansowane. Nie mów, że cię nie ostrzegaliśmy.

Ciągle słyszysz, że Android działa na jądrze Linuksa. Największą zaletą tego jest to, że Linux jest stabilny, open source i wyjątkowo łatwy do zhakowania. Oznacza to, że wiele z tych korzyści przenosi się również na Androida. Jednym z nich jest możliwość dostosowania zabójcy o niskiej pamięci. To jest coś, z czym mam osobiste doświadczenia, zarówno na trudny, jak i łatwy sposób. Chociaż przynosi to korzyści każdemu smakowi Androida, telefony z HTC Sense wykazują największą poprawę.

Jak działa zabójca niskiej pamięci

Podczas uruchamiania telefonu plik w obrazie rozruchowym (init.rc) ustawia parametry systemowe. Pliki takie jak ścieżka do plików frameworka, konfigurowanie sieci i ustawianie limitów zabijania programów w celu zwolnienia pamięci RAM są wykonywane przez ten plik. Teraz maniak super-Android może zagłębić się w plik init.rc i całkowicie dostosować zabójcę małej ilości pamięci, ale nie musisz tego robić, aby nadal uzyskiwać dobre wyniki. Plik init.rc ustanawia sześć różnych „poziomów” otwartych aplikacji. Rzućmy na nie okiem:

  • FOREGROUND_APP: Jest to aplikacja aktualnie wyświetlana na ekranie i działająca
  • VISIBLE_APP: Jest to aplikacja otwarta i działająca w tle, ponieważ wciąż coś robi
  • SECONDARY_SERVER: Jest to proces (usługa potrzebna aplikacji), który jest żywy i gotowy na wypadek, gdyby musiał coś zrobić
  • HIDDEN_APP: To znowu jest proces, który pozostaje bezczynny (ale wciąż żywy) na wypadek, gdyby był potrzebny aplikacji, która żyje i działa

W większości przypadków nie chcemy dostosowywać, kiedy te aplikacje i procesy zostaną zabite. Są to rzeczy, których używają programy, aby poprawnie funkcjonować. Dla bardziej odważnych i zaawansowanych użytkowników możliwa jest zmiana ustawień dla HIDDEN_APP, aczkolwiek z dużą ilością prób i błędów. Są jeszcze dwa ustawienia, które są dla nas najbardziej interesujące dzisiaj:

  • CONTENT_PROVIDER: To aplikacje, które dostarczają dane (treść) do systemu. HTC Facebook Sync? To CONTENT_PROVIDER. Podobnie jak Android Market czy Fring. Jeśli żyją, mogą odświeżyć i udostępnić treści, które powinny mieć w ustalonych odstępach czasu. Jeśli je zabijesz, oczywiście nie mogą.
  • EMPTY_APP: Nazywam te „duchami”. Są to aplikacje, które otworzyłeś, ale gotowe. Android wykorzystuje unikalny styl zarządzania pamięcią. Gdy działanie zostanie zakończone, zamiast go wyłączyć, system Android przechowuje aplikację w pamięci, dzięki czemu jej ponowne otwarcie jest szybsze. Te „duchowe” aplikacje nie zużywają baterii ani czasu procesora, tylko wypełniają pamięć RAM, która w przeciwnym razie byłaby pusta. Gdy ta pamięć jest potrzebna przez inną aplikację lub proces, pamięć RAM jest opróżniana i udostępniana nowej aplikacji. Aby zadowolić geekerów (takich jak ja), Android robi to, utrzymując listę ostatnio używanych aplikacji, przy czym najstarsze aplikacje na liście mają najniższy priorytet - są one zabijane jako pierwsze, jeśli RAM jest potrzebny gdzie indziej. To idealny sposób na obsługę procesów „duchów”, więc nie trzeba dotykać tej części;)

Na poziomie EMTY_APP możemy grać w Robin Hood i zyskać trochę wydajności interfejsu użytkownika. Robimy z bogatych (pamięć RAM wykorzystywana przez aplikacje, których używamy) i dajemy biednym (nasza pula darmowej pamięci RAM). W ten sposób decydujemy, kiedy Android zamyka stare, nieużywane aplikacje, zamiast pozwolić systemowi zdecydować za nas. Takie rzeczy są powodem, dla którego rootujemy.

Jak manipulujemy tym wszystkim?

Pamiętasz wcześniej, jak powiedziałem, że nie musisz kopać w tajemniczych plikach startowych, aby zmienić te ustawienia? Cóż, pokochasz to. Możesz zmieniać różne rzeczy dzięki aplikacji z Market! Istnieje kilka, które działają, ale wolę MinFreeManager, ponieważ jest lekki i nie udostępnia żadnych danych osobowych, jak niektóre inne. Zobaczmy, jak ustawić tego złego chłopca.

Krok pierwszy - usuń dowolnego uruchomionego menedżera zadań. Będą tylko ingerować w to, co robimy dzisiaj. Jeśli tego nie zrobisz, wszyscy będziemy się śmiać, a nasze telefony będą działać płynnie:)

Krok drugi - pobierz i zainstaluj MinFreeManager

Krok trzeci - otwórz aplikację. Naciśnij przycisk Wstecz, aby pozbyć się klawiatury (porozmawiamy o edycji liczb, które widzisz za chwilę) i naciśnij menu> Ustawienia wstępne.

Wybierz „Agresywny”. Nie ma sensu instalować i uruchamiać takiej aplikacji bez uruchamiania jej pełnego potencjału. Jeśli po upływie jednego lub dwóch dni uważasz, że występują problemy z uruchomieniem tych ustawień, możesz spróbować „łagodnie” lub ręcznie poprawić liczby. Następnie kliknij „Zastosuj”, aby ustawić parametry. Jeśli chcesz, aby ustawienia były stosowane przy każdym ponownym uruchomieniu, menu >> zastosuj podczas rozruchu zajmie się tobą. Dla większości osób to wszystko. Ciesz się posiadaniem około 75-100 MB wolnej pamięci RAM przez cały czas.

Jeśli chcesz poprawić liczby samodzielnie, każdy wpis to poziom wolnej pamięci RAM, którą aplikacje i procesy w poszczególnych kategoriach zaczną zabijać. Poniżej znajdują się domyślne ustawienia Androida.

Zauważ, że nic nie zostanie wyczyszczone z pamięci RAM, dopóki ilość wolnej pamięci RAM nie osiągnie 32 MB. (Jeśli słuchałeś mnie, gdy stałem na moim mydelniczku, wiesz, że moim zdaniem SenseUI po prostu nie działa dobrze z mniej niż ~ 40 MB wolnej pamięci RAM) Przy 32 MB lub mniej wolnej, system będzie zacznij zabijać „duchy”. Możemy wspiąć się na górę listy i przekonać się, że jeśli kiedykolwiek osiągniemy 14 MB lub mniej za darmo, system może (i zabije) aplikację uruchomioną na pierwszym planie.

Jeśli zdecydujesz się grać tymi liczbami, bądź bardzo ostrożny z czterema pierwszymi liczbami. Małpowanie się z nimi może uczynić rzeczy bardzo niestabilnymi i bardzo brzydkimi. Dostawca treści (przeczytaj go ponownie powyżej) jest mniej drażliwy, ale ustawienie go zbyt wysoko sprawi, że takie rzeczy jak synchronizacja Facebooka będą jeszcze bardziej nieprzyjemne. Sekcja Pusta aplikacja jest bezpłatna dla wszystkich. Ustawienie tego na wartość mniejszą niż 96 MB (IMO) nie pozwala na użycie takiej aplikacji. Ulepszaj rzeczy, daj mu kilka godzin na osiedlenie się i zdecyduj, czy potrzebuje więcej ulepszeń.

LowMemKiller Geek Edition

Ponieważ Android działa na jądrze Linuksa, oznacza to, że parametry są przechowywane jako pliki tekstowe. można je edytować w locie - to właśnie robią aplikacje takie jak MinFreeManager. Jeśli nie chcesz używać aplikacji innej firmy do wprowadzania tych zmian, możesz łatwo zmienić wartości z wiersza polecenia. Uruchom swojego ulubionego klienta terminalowego i śledź dalej.

Aby sprawdzić bieżące parametry ustawienia MinFree:

su

cat / sys / module / lowmemorykiller / parameters / minfree

Zwróci ciąg liczb, coś takiego:

1536, 2048, 4096, 5120, 5632, 6144

Te liczby są stronami. W systemie Android strona jest równa 4 kb. W powyższym przykładzie ustawienia EMPTY_APP (ostatnie na liście - 6144) wynoszą 24 MB. 6144 strony = 24576 kb = 24 MB. Wzór byłby następujący:

Dlatego ustawienie 25000 byłoby równe ~ 97 MB (powiedziałem, że to była wersja Geek!).

Aby uzyskać dobry punkt wyjścia i przykład zmiany liczb, spróbuj tego:

su

echo "1536, 2048, 4096, 5120, 15360, 23040"> / sys / module / lowmemorykiller / parameters / minfree

Dzięki temu za każdym razem, gdy wolna pamięć RAM spadnie poniżej 90 MB, „duchy” zostaną zabite w kolejności, a jeśli pamięć RAM spadnie poniżej 60 MB, CONTENT_PROVIDERS zostanie zabity. Jądro nie pozostawia niczego innego.

Pomyśl o tym przez chwilę - nie martw się dłużej o utrzymanie zegara i Gmaila przy życiu oraz na białej liście zabójców zadań, ponieważ określamy, jakie aplikacje i procesy można zabić, aby zwolnić pamięć.

Gdy masz już zestaw liczb, które działają dobrze dla ciebie, łatwo jest usprawnić proces stosowania go podczas ponownego uruchamiania. Tak, zmiany te znikają przy każdym ponownym uruchomieniu, ponieważ są przechowywane na dysku wirtualnym (ramdysku), który usuwa się po wyłączeniu telefonu. Będziesz potrzebował edytora tekstu, który może zapisywać pliki w formacie odczytywalnym przez Unix. Nic stworzone przez Microsoft nie zadziała. Zawsze polecam Notepad ++ użytkownikom systemu Windows, którzy potrzebują edytować pliki Unix. Chwyć i zainstaluj.

Otwórz pusty plik i wklej w nim następujące elementy:

echo "1536, 2048, 4096, 5120, 15360, 23040"> / sys / module / lowmemorykiller / parameters / minfree

oczywiście zmień ustawienia domyślne na żądane. Zapisz plik jako freeram bez rozszerzenia.

Podłącz telefon do komputera i wciśnij plik freeram do / system / bin. Następnie w wierszu polecenia:

su

cd / system / bin

chmod 744 freeram

wyjście

wyjście

Teraz uruchom ponownie telefon, a po załadowaniu otwórz terminal i wpisz:

su

freeram

wyjście

Aby ustawić parametry zamiast domyślnych parametrów Androida. Musisz to zrobić przy każdym ponownym uruchomieniu komputera lub edytować w pliku init.rc, który jest zbyt fajny, żeby go tutaj opisywać. Mamy na to forum.:)

Niezależnie od tego, czy podoba Ci się łatwy, czy bardziej hardkorowy sposób, spróbuj. Jest łatwy do przywrócenia i jest w 100% darmowy.

Do następnego razu,

Nocnik