-
Data: 2014-09-04 20:51:01
Temat: Re: Zużycie baterii
Od: Marek <f...@f...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Thu, 04 Sep 2014 13:01:55 +0200, GAD Zombie
<g...@U...gad.USUN.art.pl> wrote:
> To jak to jest, kiedy aplikację się zamyka? Ona się minimalizuje i
> działa w tle, czy jakoś "zamraża" i nie działa, chociaż można ją
> przywrócić (na zwór hibernacji komputera), czy może jednak się
zamyka?
Widzę, że pokutuje tu mieszanka mitów i uprzedzeń. Żeby aplikacja
zżerała baterie w Androidzie programista musi się na prawdę postarać.
Klawisz back zakończy aplikację, jeśli programista obsłuży akcję
"wciśnięto back" i zakończy jej pracę. Jeśli tego nie zrobi system
domyślnie "schowa" ją w tło i zatrzyma (wyjątek od tego poniżej). W
Androidzie, ze względu na pracę w warunkach zasilania bateryjnego
każde przełączenie się na inną aplikacje powoduje zatrzymanie
bieżącej CHYBA, ŻE programista intencjonalnie obsługuje takie
zdarzenie i wymusi pracę aplikacji w tle np. kontynuacja obliczeń.
Oprócz zatrzymywania mamy domyślne usypianie urządzenia, chyba, że
znowu programista celowo zablokuje uśpienie. Tutaj na prawdę ciężko
zrobić jakiś błąd aby przez przypadek aplikacja została przęłączona w
tlo i ciągle działała, bo trzeba to z góry przewidzieć na etapie
projektu aplikacji, inaczej domyślnie system ja zatrzyma. Stąd
trudno mówić, że aplikacja z powodu błędu działa w tle i zżera
baterię zamiast się zamknąć. To oznacza, że programista celowo coś
chciał robić w tle ale z czymś przesadził i to co się dzieje w tle
zabiera zbyt dużo cpu.
W ogóle "aplikacja" to trochę niefortunne określenie w przypadku
Androida, bo pejoratywnie kojarzy się z aplikacją (programem) na PC,
a to trochę inaczej wygląda. W Androidzie aplikacja jest jakby
modułem/rozszerzeniem do systemu implementującym odpowiednie metody
wywoływane przez ten system. To nie jest tak proste jak w unices, że
tworzony jest nowy proces i jest call main() załadowanego kodu (w
uproszczeniu). Sam proces instalacji "aplikacji" spowoduje
uaktywnienie jej pewnych części kodu (np. serwisów) i tuż po
zainstalowaniu może już działać, bez "uruchamiania" przez użytkownika
np. przechwytywanie smsów i wysyłanie ich gdzieś dalej ;). Poza tym w
Androidzie jest rozdzielenie między tą częścią kodu, która ma
wyświetlić i zarządzać UI (activity) a częścią, która ma coś robić,
najczęściej w tle i nie potrzebuje do tego UI (serwis). Jeśli w
kodzie w części UI cpu spędzi za dużo czasu (przez błąd programisty)
taka aplikacja zostanie ubita przez system bardzo szybko (system nie
dopuszcza takiego działania). Natomiast w serwisie (w tle) można
robić co dusza zapragnie, na pełnym gazie cpu.
Podsumowując, jeśli aplikacja ciągle coś robi w tle to tak ma być,
zatrzymać tego nie można, bo najczęściej po zatrzymaniu przez
użytkownika jakimś narzędziem system to uruchomi ponownie, jeśli
programista przewidział to i wymusza autorestart. Jedyne rozwiązanie
to jej odinstalowanie.
--
Marek
Następne wpisy z tego wątku
- 04.09.14 21:01 atm
- 04.09.14 21:20 Marek
- 04.09.14 21:28 atm
- 05.09.14 00:01 Marek
- 05.09.14 14:02 Pszemol
- 05.09.14 14:06 atm
- 05.09.14 14:35 Marek
- 05.09.14 14:40 Pszemol
- 05.09.14 14:42 Pszemol
- 05.09.14 14:41 atm
- 05.09.14 14:46 atm
- 05.09.14 14:50 atm
- 05.09.14 14:56 Pszemol
- 05.09.14 15:06 atm
- 05.09.14 21:00 J.F.
Najnowsze wątki z tej grupy
- Internetowy router komórkowy
- ID rozmówcy i ochrona przed spamem.
- "W 2024 r. polskie służby uzyskały przeszło dwa miliony (dokładnie 2 143 377) danych telekomunikacyjnych, pocztowych i internetowych."
- Re: bełkot reklamowy eSIM, których nikt nie chce, bo są niebezpieczne.
- Re: bełkot reklamowy eSIM, których nikt nie chce, bo są niebezpieczne.
- Pomarańczowy rakietnyj on de telefon ;)
- Awaria VM?
- Fałszywe alerty
- DPD, przeniesienie numerów z a2mobile i z Orange
- Tapeta w Xiaomi
- 112
- Internet w Azji
- Się mi gówno przykleiło
- Tani darmowy manager plików
- Będzie Android z obsługą monitorów. Ciekawe bo to już było i się nazywało MHL
Najnowsze wątki
- 2025-08-06 Gdynia => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-08-06 Białystok => Inżynier oprogramowania .Net <=
- 2025-08-06 "[...] sejmowe wystąpienie posłanki Klaudii Jachiry, która zakończyła je słowami ,,Sława Ukrainie"."
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Panuje się 181 159,42 zł./mies. na posła w 2026r.
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Czy cos fi przechodzi przez trafo separujące?
- 2025-08-05 kajaki i promile
- 2025-08-05 Re: Tesla jest bezpieczna, wczoraj spaliła się doszczętnie na Ursynowie i nikomu się nic nie stało
- 2025-08-05 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-08-05 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-05 B2B i książka przychodów i rozchodów
- 2025-08-04 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML