Cytat:
Śmiem zauważyć że to nie ma nic wspólnego z open source, na takie rzeczy pozwalał też windows mobile, trzeba było tylko pogrzebać w rejestrze.
Tak po prostu wygląda ręczne konfigurowanie linuksa I być może innych systemów unixowych, tego już nie wiem.
Rzeczywiście możliwości konfiguracji linuksa są ogromne.
|
Tak, tylko dzięki temu że jest dostęţny kod źródłowy można zrozumieć jak Android dzieli aplikacje - te 6 poziomów -
https://github.com/android/platform_...erService.java
Cytat:
Z całego posta najważniejsza jest jedna linijka
echo "4096,8192,16384,32768,49152,65536" > /sys/module/lowmemorykiller/parameters/minfree
reszta to wolna interpretacja autora skryptu, który wymyślił sobie 7 poziomów zwalniania pamieci ($FREE).
|
Nie wiem czy zauważyłeś ale to co zacytowałeś to właśnie 6 poziomów. Każdy jest dla danego typu aplikacji:
Cytat:
FOREGROUND_APP:
// This is the process running the current foreground app. We'd really
// rather not kill it! Value set in system/rootdir/init.rc on startup.
VISIBLE_APP:
// This is a process only hosting activities that are visible to the
// user, so we'd prefer they don't disappear. Value set in
// system/rootdir/init.rc on startup.
SECONDARY_SERVER:
// This is a process holding a secondary server -- killing it will not
// have much of an impact as far as the user is concerned. Value set in
// system/rootdir/init.rc on startup.
HIDDEN_APP:
// This is a process only hosting activities that are not visible,
// so it can be killed without any disruption. Value set in
// system/rootdir/init.rc on startup.
CONTENT_PROVIDER:
// This is a process with a content provider that does not have any clients
// attached to it. If it did have any clients, its adjustment would be the
// one for the highest-priority of those processes.
EMPTY_APP:
// This is a process without anything currently running in it. Definitely
// the first to go! Value set in system/rootdir/init.rc on startup.
// This value is initalized in the constructor, careful when refering to
// this static variable externally.These 6 categories are reflected by 6 memory limits which are configured for the lowmemorykiller in the kernel.
|
A to wzięte jest z pliku źródłowego Androida
Te wartości dla poziomów są zapewne dobrane na podstawie własnych doświadczeń.
U mnie spisuje się dobrze, ba bardzo dobrze poziom 3 (telefon ma 768MB RAM). Przy słabszych wartościach pamięć została zwalniana zbyt późno co skutkowało czkawką. Przy poziomie 3 wszystko działa świetnie.
----
Gdyby kogoś interesowała zabawa w tworzenie ROMa to w tym artykule podstawa obsługi instalatora AROMA.
http://android.com.pl/wiki-2/android...onfiguracyjny/