-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!
peer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media
.com!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-0
2.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not
-for-mail
From: Marek <f...@f...com>
Newsgroups: pl.misc.telefonia.gsm
Subject: Re: Zużycie baterii
Date: Thu, 04 Sep 2014 20:51:01 +0200
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
In-Reply-To: <lu9gr3$6oi$1@node2.news.atman.pl>
References: <lu7i3d$m2h$1@srv13.cyf-kr.edu.pl>
<1...@4...com>
<lu7pqa$2p3$1@srv13.cyf-kr.edu.pl>
<54076cf2$0$2227$65785112@news.neostrada.pl>
<lu9gr3$6oi$1@node2.news.atman.pl>
Message-ID: <a...@n...neostrada.pl>
User-Agent: Groundhog Newsreader for Android
Lines: 50
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.4.129.209
X-Trace: 1409856662 unt-rea-b-01.news.neostrada.pl 2227 83.4.129.209:56436
X-Complaints-To: a...@n...neostrada.pl
X-Received-Bytes: 4089
X-Received-Body-CRC: 2148804496
Xref: news-archive.icm.edu.pl pl.misc.telefonia.gsm:1062312
[ ukryj 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
- Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- Dlaczego sluchawka nie dzwoni?
- Google Play
- Gdzie kosz?
- Kosz, gdzie??
- GNSS Motorola G85 vs Redmi Note 9 pro
- Dlaczego nie pasuję do świata APLE?
- karta SIM nie działa w konkretnym smartfonie.
- smartfon i zewnętrzny ekran
- Gdzie w smartfonie są SMSy/MMSy ?
- VM i Fakt
- Re: Całujmy ukrów w dupę, tak szybko odchodzą :)
- uwazajmy na haczyki w umowach
- doładowania 5zł
- nawigacyjna dokładność latawca
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=