eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.telefonia.gsmZużycie bateriiRe: Zużycie baterii
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: