Android dzisiaj.

Sep 24, 2026 Last reply: 1 day ago 258 Replies

To są konsekwencje paranoi oszczędności baterii jakie były w Androidzie od wersji 1.0. Uznano (tak juz w skrócie), że aplikacje nie będące na wierzchu (ich ui nie jestt wyświetlane) bez sensu żeby działały i drenowały baterię. Mają "odżywać" po ponownym powrocie na pierwszy plan, Ale później się przecież okazało, że i tak są potrzebne funkcje/działania, które powinny działać w tle (pobieranie, odywarzanie, sprawdzanie stanu) stąd uznano, że te części apliakcji należy wydzielić w osobną grupę tzw. serwisów, które mogą działać w tle. Czyli najpierw zabito multitasking w tle (w pewnym sensie) przy czym umożliwiono go pod pewnymi warunkami. Ale programiści najczęściej tego nie ogarniają i w końcowym rezultacie są właśnie takie efekty jak irytujące odświeżanie stanu ui.

Marek

Rotfl. Pamiętam w latach 90 w pewnej szacownej uczelni stał SCO Unix, który raz na dobę miał w nocy automatyczny restart, admin z poważną miną w ten sam sposób to tłumaczył.

Ale tak chyba nie powinno być? Tzn. OS nie powinien dopuszczać aby aplikacje, które zostały zkończone, ubite etc. zostawiały jakakolwiek częśc pamięci (ram) zajętą. To by swiadczyło, że cos jest bardzo nie tak z OSem. Takie rzeczy się kiedyś działy, ale problem MZ były jakieś 2-3 dekady temu.

Nadal się owszem zdarza, że się jakiś proces zdegeneruje, ale z moich doświadczeń, nie na androidach, ale pokrewnych linuksach, to są grube miesiące, nie dni. No i to inny mechanizm.

Nie znam Androida na tyle, żeby się wypowiedzieć, czy coś nie może zostać, bo może jest sens, aby zostało.

Ale Android mówi "nie kończymy aplikacji, żeby szybciej startowały przy ponownym uruchomieniu".

W zasadzie ten sam - ubicie powinno zwolnić wszystko.

J.

"Ubite" zależy na jakiej warstwie abstrakcji. Z punktu widzenia kernela proces ubity to ubity i nic nie pozostawia najwyżej zostanie zombie zajmujący tylko wpis w tabeli procesów ale bez znaczenia na wydajność. "Apka" w Androidzie to cały kontener vm dalvika + przystawki. Paranoja z oszczędnością baterii, konieczność jak najszybszego uśpienia (i paradoskalnie walka z tym poprzez dodany mechanizm wakelocków) w warstwie androida wymaga własnych mechanizmów zarządzania "aplikacjami". Nie pozwala ubiajac na poziomie jądra bo ponowny exec jest niewydajny (robi sie sztuczki jak w ios gdzie przed exec wyświetla się zrzut ekranu UI zeby usera oszukać, że apka już działa. Zanim user oprzytomnieje z szoku i wejdzie w interakcję z ui to proces się w pełni uruchomi i obsłuży już klik). Wiec apki jako procesy vm "wiszą" w tle . Jak dłużej nie pójdzie na wierzch to zostanie całkowicie wyładowana. Android modyfikuje priorytety procesów-apek w tle aby obniżyć ich priorytet CPU. Ale z pkt. widzenia kernela, który patrzy na to wszystko z góry dochodzi mechanizm swap, jak za dużo procesów i mało ram to zaczyna się swapowanie a to już jest kosztowne.

Najczęściej zawsze się powtarza by nie kombinować, nie być mądrzejszym od systemu i nie ubijac/czyścić samemu. To ma działać samo automatycznie, jest dobrze jak jest i tak ma być.

Z moich doświadczeń na Androidzie wynika, że tak z grubsza raz w miesiącu musiałem restartować telefon bo zaczynał robić durnoty. Może rzeczywiście, raz w tygodniu to przesada, ale to nic nie kosztuje.Telefon resetuje się gdy śpię, a rano nawet tego nie zauważam.

P.P.

No ale już wszelakie przydzielone zasoby, w tym pamięć, musi kernel usuwać dodatkowo. Trzy podstawowe segmenty to prosto, ale jakies dzielone? Biblioteki ?

A w Androdzie, to nie wiem, jak to wygląda, ale ponoć inaczej.

Akurat kod dalvika mógłby być znów dzielony.

Ale może apka sama się zakończyć. Chyba, że bardzo prawilna, to nie ma takiej opcji.

Chyba nie wszystkie mają wirtualną pamięc, to dochodzi kwestia defragmentacji.

Ja tam uważam, że jak kończę jakąś apkę/program, to kończę, i on też się powinien zakończyć.

J.

Czyli de facto chcemy, żeby tam został. No to kwestia ogarnięcia co tam siedzi i zakończenia co niepotrzebne.

Ubicie (SIGKILL) zwalnia wszystko, ale niekoniecznie SIGTERM. Bo się program zdegenerował. Jakiś bug się uawnił w ciągu tych miesięcy działania, albo pamięc nie ecc namieszała.

Po restarcie trzeba się logować wklepując hasło, a i od tego wklepywania do gotowości pełnej systemu to są raczej minuty. A potem muszę jeszcze ręcznie załączać hotspota. Przynajmniej u mnie. Nie, że to jakiś kosmiczny problem, ale jak to bywa, czasami może się rzecz zdarzyć w najmniej odpowiednim momencie.

Nb. jeszcze jakiś czas temu Samsung wymuszał okresowe wpisywanie hasła (przy normalnym trybie odblokowywanie odciskiem palca) bez restarów, ot tak dla bezpieczeństwa. Wyglada, ze ktos sobie w końcu zdał sprawę, że przymuszanie do takiego trybu odblokowanie w okolicznościach, które się do końca nie kontroluje, jest krańcowo odległe od bezpiecznego odblokowywania telefony. Ale pewnie daję im nienalezny kredyt i poszło o coś zupełnie innego.

W dniu 28.09.2026 o 01:00, Marcin Debowski pisze: [...]

Tak. Ale wiele aplikacji nadal działa w tle po zamknięciu. Ubicie to dodatkowe działanie i wiele osób tego nie robi (nie umieją).>

Przecież Android to linuks.

W dniu 29.09.2026 o 02:10, Marcin Debowski pisze:

Ja mam biometrię

A potem muszę jeszcze

Mam Tasker na takie automatyzacje.>

W dzień używam biometrii (zamiennie odcisk/video) Zrezygnowałem z PINów. Idealne z biometrią, bo stałem się "białkowym kluczem sprzętowym" a apki bankowe, czy mObywatel wspomagają biometrię.

Ja również, ale po kazdym restarcie wymaga hasła.

Dlatego porównuje. Z tym, że diabeł jak zwykle może tkwic w szczegółach, co przy tak istotnych modyfikacjach jakie sa w Androidzie, może gdzieniegdzie robić.

Rozwiń bo nie jestem pewien czy dobrze rozpoznaję te skróty myślowe.

Zgodnie z założeniami architektury to nie jest wymagane. Apka nieużywana sama zostanie w odpowiednim czasie wyładowana. Są oczywiście metody wymuszenia zakończenia, jakiś purysta dodaje opcję "zakończ" ale to jest wbrew obrządkowi i ma robić tylko dobrze tym, którym się wydaje, że tak jest lepiej.

Co/kto nie wszystkie mają wirtualną pamięć?

Wiele aplikacji java, każda w swojej vm, a segment z kodem dalvika jeden.

Nie wszystkie procesory ARM, używane w smartfonach, mają wirtualną pamięć.

J.

W dniu 29.09.2026 o 06:56, Marcin Debowski pisze:

Czasem sam (na kibelku) restartuję smartfona, wtedy mając kontrolę (wpisanie hasła) nie masz funkcji "standby" czyli oczekiwania na załadowanie. W poprzednim telefonie miałem automatyczny restart o 4:00AM w niedzielę, co zapobiega temu, że nikt się nie dodzwonił dokąd ja się nie obudziłem :)

Wywalać się nie wywala, ale czasem kłopot na poziomie aplikacji, np. apka bankowa po przesunięcia w tło i przywróceniu na przód każąca się od nowa logować, co skutecznie uniemożliwia parokrotne kopiuj-wklej np. danych beneficjenta do formularza przelewu. Lub w ogóle wyskakujący komunikat "nie pracuje z podzielonym ekranem" (na Xperii, która ma taką natywną funkcjonalność) Może to już zmienili.

Nie masz "lekkiej" przeglądarki"? Sporo programów miało wersje 'lite".

-----

Są, ale się włączy i może wstępnie nagrzeje, kawy nie zrobi.

-----

W dniu 29.09.2026 o 02:10, Marcin Debowski pisze: [...]

Żadnego logowania. Wpisuję PIN jeśli nie rozpozna mordy. Odcisków palca nie mam, więc nie mogę wykorzystywać tej metody. Z tym brakiem odcisków jest problem. Na przykład jak chcę jechać do USA albo Chin to muszę jeździć do ichniej ambasady aby obejrzeli moje łapy.

P.P.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required