Podgląd pojedynczego posta
Stary 11.02.2013, 07:07   #4353
sobrus
Jukebox Hero
 
Avatar użytkownika sobrus
 
Data rejestracji: 17.09.2004
Lokalizacja: Back for the Attack
Posty: 10,800
sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>sobrus ma z czego być dumnym <1000 - 1499 pkt>
Andy nie musisz mi tłumaczyć jak działa OOM killer w Androidzie.
Zrobiłeś mi niepotrzebnie wykład z tego co sam napisałem (miedzy innymi z ustawień minfree).
Naprawdę nie ma sensu pisać tego samego drugi raz.

Nic nie poradzę na to że rozwiązanie jakie zaproponowało Google jest według mnie po prostu złe.
Nie ma co się zachwycać nad słabym rozwiązaniem.

Normalny system, a linuks w szczególności, próbuje zatrzymać w pamięci tyle danych ile zdoła, zwalniając ją tylko w razie absolutnej konieczności.
To jest rozwiązanie wypracowane przez lata i uznane za najlepsze, gdyż każda operacja I/O (zarówno zwalnianie, jak i zapełnianie pamieci) jest bardzo kosztowna i powoduje lagi - więc należy jej unikać. Im dłuższe system ma uptime i im więcej pamięci zapcha - tym lepiej działa.

Jakiekolwiek zwalnianie pamieci na zasadzie "grupowania aplikacji" i "domysłów", co użytkownikowi się przyda, a co już nie - jest moim zdaniem złe. Chyba że użytkownik sam poinformuje system, że aplikacji sobie nie życzy (przycisk zamykania).

Gdyby głupi OOM nie wywalił kontaktów Barteza tylko dlatego, że Bartez odpalił kalkulator (kontakty stały sie aplikacją z innej grupy, wpadły w nowy limit i poszły do piachu) - to potem Bartez nie musiałby czekać 3 sekund aż się znowu wczytają. A skąd OOM wie, że po przeliczeniu czegoś Bartez do tych kontaktów nie wróci? Nie wie - i dlatego popełnia poważną głupotę. I dopóki takie głupoty będzie popełniał to Android niestety będzie lagował. Kalkulator też będzie lagował, bo zaraz po jego uruchomieniu kontakty w będą musiały się zamknąć, zrzucając w popłochu dane na dysk i zapychając system. Totalny bezsens. Przekombinowane.

I to o czym mówie właśnie można zaobserwować w Androidzie - połowa RAMu wolnego, a głupek przeładowuje launchera i wszystkie widgety po odpaleniu jakiegoś programu. Nie wiadomo czy się śmiać czy płakać. Czy to faktycznie wymaga geniuszu, by się domyśleć że do launchera user zaraz wróci?

Jedyny efekt działania androidowego OOM killera jaki zaobserwowałem to taki, że użytkownik ma wrażenie że ma mniej ramu niż faktycznie ma (ostatnia część RAMu może być zajęte tylko przez aplikację działającą na pierwszym planie itd). Genialne.
Jeżeli już Google chciało koniecznie wprowadzić w życie filozofię którą Jobs wybrał dla iOS (automatyczne zarządzanie procesami) to niech to zrobią albo dobrze albo wcale.

Ostatnio zmieniany przez sobrus : 11.02.2013 o godz. 07:37
sobrus jest offline   Odpowiedz cytując ten post