ios iphone apple
58

John Gruber przypomina: Nie wymuszajcie zamykania aplikacji w tle na iOS

Ci z Was, którzy śledzą moje wpisy na Antyweb wiedzą, że od kwietnia stałem się użytkownikiem iPhone, po 6 latach przygody ze smartfonami z Androidem na pokładzie. Nie śledziłem za bardzo wiadomości o produktach Apple, gdyż nie opisywałem ich na Antyweb, stosując się do zasady - nie korzystałeś, nie wypowiadaj się. Dziś trafił do mnie wpis Johan Grubera z Daring Fireball, w którym przypomina on, iż przeświadczenie, o tym, że zamykanie aplikacji działających w tle poprawia wydajność telefonu i powoduje mniejsze zużycie baterii, jest największym błędnym wyobrażeniem o systemie iOS.

Korzystałem z różnych modeli, z budżetowych, ze średniej półki i z flagowców z Adroidem. Przez te kilka lat przyzwyczaiłem się do jednej czynności podczas korzystania z tych telefonów. A mianowicie właśnie do regularnego czyszczenia aplikacji działających w tle. Chyba przy tych słabszych modelach, rzeczywiście dawało to efekt przyspieszenia i tak mi zostało, w przypadku nowszych i szybszych modeli przerodziło się to w higienę korzystania z telefonu. Po prostu lubiłem mieć wszystko wyczyszczone w tle, bez zbytniego wnikania już, dlaczego, po co i jakie to ma skutki. To nie było dobre dla moich urządzeń. Niestety, przyzwyczajenie to przeniosłem również na iPhone SE, ale teraz poważnie już to przemyślę w trosce o jak najdłuższą żywotność baterii.

Oczywistym powinien być dla mnie fakt, że ponowne uruchamianie aplikacji od zera zużywa więcej zasobów procesora, niż przywrócenie jej po uprzednim zrzuceniu w tle, co przez to idzie również i większe zużycie baterii.

John Gruber przekonuje też, że to specyfika iOS przemawia za tym, że szczególnie na tym systemie nie powinno się tego robić, bo ma lepiej rozwiązane zarządzanie aplikacjami działającymi w tle. Jako przykład podaje film na YouTubie, gdzie przeprowadzono test nowych urządzeń Samsunga Galaxy S8 i iPhone 7, w którym zademonstrowano jak oba telefony radzą sobie ze znaczną liczbą uruchamianych aplikacji w tle.

Na teście widać wyraźnie, że przy pierwszym uruchomieniu szeregu aplikacji po kolei (później są zrzucane w tle), uruchomiły się one wszystkie szybciej na iPhonie niż na Samsungu Galaxy S8 i znacznie szybciej przy drugiej pętli uruchomień, tych samych aplikacji. Było to wynikiem tego, że z uwagi na to, że uruchomiono ich stosunkowo dużo, Android sam zamknął większość tych aplikacji na Samsungu, by zwolnić pamięć RAM potrzebną na uruchomienie kolejnych. Na iPhone natomiast większość z nich pozostała w tle, dlatego jeszcze szybciej uruchomił je wszystkie ponownie.

Dobrze wytłumaczył to były technik pracujący w Apple Kyle Richter, na którego opinie powołuje się również John Gruber:

Sam proces zamknięcia aplikacji obniża żywotność baterii. Są chwile, gdy urządzenie może potrzebować zasobów i samo zamknie aplikację, co spowoduje częściowe wyczerpanie akumulatora. Jednak nowoczesne smartfony mają mnóstwo pamięci, dlatego będziesz zaskoczony, jak często aplikacje mogą działać cały czas. Jest to podwójnie prawdziwe w przypadku aplikacji, które często otwierasz i używasz, gdyż one najprawdopodobniej nigdy nie będą musiały być zamykane. Powtarzalne ich zamykanie i potem uruchomienie może zauważalnie wpłynąć na żywotność baterii.

Tak więc posypuję głowę popiołem i zaprzestaje tych niecnych praktyk. Jeśli z jakichś powodów, Wam również się to zdarza, polecam zapoznać się z wpisem Johna Grubera, który dogłębnie to wyjaśnia na swoim blogu, zapewniam, że podobnie jak ja przemyślicie trwanie w tym przyzwyczajeniu jeszcze raz:)

Źródło: Daring Fireball via Business Insider Polska.

  • A co jeśli te aplikacje pobierają dane w tle, utrzymują połączenie WiFi/BT czy korzystają z GPS?

    • Sławomir Grzelak

      No to jak je zamkniesz i system na nowo je uruchomi zużywając baterię, to nagle przestaną to robić? W takich sytuacjach należy zabrać im dostęp do tych funkcji

    • Np. Automapie? :)

    • Sławomir Grzelak

      No to możesz ją zamknąć bez czyszczenia pamięci zewnętrznymi aplikacjami. Tutaj właśnie chodzi o takie wymuszanie zamykania, czyszczenia pamięci RAM masowym ubijaniem procesów. To jest niezdrowe dla baterii, a nie pojedyncze zamykanie aplikacji

    • Understood! :) „Odkurzaczy pamięciowych” nie używam, bo zawsze przynosiły więcej szkody niż pożytku i wbrew swoim reklamom raczej zamulały telefon. Nomen omen z opisanych tutaj względów – to, co usunięto z RAM, musiało być doczytane…

    • Sławomir Grzelak

      O to właśnie chodzi. Taki Android czy iOS daje Ci odpowiednie narzędzia do zamykania aplikacje zgodnie z przeznaczeniem. A takie aplikacje i tak najczęściej zamykają wszystko jak leci, po czym znaczna część apek i tak się ponownie uruchomi, jeszcze zwiększając zapotrzebowanie na energię. Coś takiego może jest i dobre, ale w systemie Microsoftu, skąd najczęściej przenosimy doświadczenia na te mobilne platformy, które działają w inny sposób

    • Marcin Czajka

      A po diabła te aplikacje wyłączać?

    • Elmot

      W ustawieniach przy opcji „Położenie” zaznaczasz „ Gdy używam programu” i do tego wyłączasz odświeżanie w tle i włala ;)

    • YY

      Szczerze? Jak wyłączysz ekran i odłożysz telefon na biurku (np: robiąc z niego przenośny router), to czas pracy będzie całkiem przyzwoity. iPhone świetnie radzi sobie na czuwaniu, za to z włączonym ekranem jest tragedia:)

    • stefan

      To nie android w ktorym uslugi drenuja baterie niezaleznie od glownej aplikacji. W iOS zarzadzaniem zasobami jak czujniki, gps czy networking, zajmuje sie w 100% system. Programista tylko tworzy „sugestie” w kodzie czego potrzebuje. Jak bedzie tego za duzo, iOS skiluje apke w calosci. Apple dba o uzytkownikow na pierwszym miejscu, a o programistow na drugim. Z Google Android jest dokladnie odwrotnie.

  • buhu

    Zwłaszcza Messenger, który drenuje baterię tak zajebiście mocno, że nie pomyślałbym, że aplikacja do wiadomości tak potrafi. 45 minut YouTube? 10% baterii, 30 minut Messengera? 17%…

    • xDDDDDDDDDDDDDDDDDDDDDDDDDDDD

      Zainstaluj zamiennik

    • buhu

      Na iOS nie ma zamienników

    • buli

      tez uwielbiam jak moje prywatne wiadomosci biegaja po necie

    • xDDDDDDDDDDDDDDDDDDDDDDDDDDDD

      Facebook i prywatność xD Ja używam Simple for Facebook pro, nikogo nie namawiam

    • buli

      no tak, dywersyfikujmy ryzyko, skoro z fejsa nic nie wycieka to wrzucajmy to jeszcze w X innych miejsc

    • buli, Twoje prywatne dane i tak biegają po necie :P

    • buli

      jak napisalem, to nie powod zeby wrzucac je jeszcze w 1231235241 innych miejsc

    • Marcin Czajka

      Wszystko co pochodzi od Zuckerberga to syf. Łacznie z serwisem społecznościowym. I naprawdę nie ma tu ukrytej ironii.

    • Fafiq

      Usuń messengera. Polecam ten styl życia.

    • zakius

      na windowsie tego nie ma, na androidzie póki co nie doświadczyłem

  • To wszystko jest prawdziwe i znane od dawna, dodam tylko od siebie, że polecam jednak zamykanie takich aplikacji jak Messenger, Facebook, Snapchat itp. Działając w tle strasznie drenują baterię, myślę, że to już nie tyle opinia, co fakt :)

    • To prawda, ale takich aplikacji jest niewiele, Kyle wspomina, że należy do nich Facebook http://martiancraft.com/blog/2016/02/force-quit-2/ Pozostałe powinny przejść po chwili w stan zawieszenia. Prócz tych oczywistych, jak Apple Music czy Spotify, co odtwarzają muzykę, ale to za naszą zgodą, jeśli chcemy wyłączyć to ubijamy wtedy

    • Tak jest, zgadza się. Przy okazji, dzięki Grzegorzu za kolejny merytoryczny artykuł, jesteś jednym z niewielu powodów, żeby tu jeszcze zaglądać, pozdrawiam :)

    • To miłe, ale myślę, że znajdziesz u nas więcej powodów do zaglądania:)

    • apple maniak

      Facebook nawet zamknięty działa sobie w tle. Dopiero odinstalowanie FB daje wyraźną poprawę czasu działania na baterii.

    • Jeśli aplikacja jest zamknięta, odświeżanie w tle wyłączone, oraz nie używa ona GPS, to nie może działać sobie w tle.

    • Marcin Czajka

      Najlepszy facebook to ten na telefonie innej osoby. Bez FB i Messengera SGS7 trzyma mi 2-3 dni.

    • gracz

      Działają serwisy tej aplikacji.

    • damianglu

      No i powiadomienia.

    • Ale myślałem, że cały czas rozmawiamy o iOS? :)

    • stefan

      w iOS nie ma uslug w rozumieniu oddzielnych procesow.

    • stefan

      Jeden co mysli. Reszta to dyletanci androidowcy nie majacy pojecia jak dziala iOS.

    • :)

    • sharent

      A może zamiast ubijać te aplikacje i odinstalowywać, lepiej jest przestać z nich korzystać godzinami każdego dnia? Właśnie sprawdziłem %wykorzystania baterii z ostatnich 7 dni na moim ip 5s: muzyka 20%, nawigacja 9%, gmail 5%. Facbook? Messenger? po 2% jedno i drugie. Gdzie to wasze drenowanie baterii?

    • stefan

      Nic nie trzeba zamykac. Wylacz odswiezanir w tle i dostep do lokacji, itd.

  • Jerry

    Zostaw odpalonego w tle Yanosika… powodzenia!

    • Elmot

      I w czym problem? Mam Yano na iPadzie Mini, w ustawieniach mam zaznaczone udodostępnianie położenia tylko gdy używam aplikacji i wszystko działa normalnie.

    • Marcin Czajka

      Co działa normalnie? Jak nie ma dostępu do lokalizacji w tle, to Yanosik nie działa w tym czasie gdy na wierzchu masz nawigację innej firmy lub jakikolwiek inny program. No chyba, że ta opcja oznacza coś innego niż jej nazwa.

    • Elmot

      Nie chodziło mi o to. Zakładam, że Jerry miał na myśli baterię (jeśli Yanosik ma cały czas dostęp do GPS, to nawet w tle zżera sporo energii) i w tej opcji przestając korzystać z Yanosika odłaczasz mu automatycznie dostęp do GPS. W tym kontekście działa normalnie.

  • Robert Andegavenski

    Ja też mam bzika na punkcie tego, dodam jeszcze że po każdym restarcie telefonu odrazu wchodzę do opcji programistycznych w ustawieniach i zmieniam procesy w tle z automatycznych na mniejszą wartość. A mam pytanie czy to prawda że w tej opcji najlepiej ustawić ilość procesów do ilości rdzeni procesora?

  • zakius

    a ja i tak wolę mieć porządek w task switcherze, niż szukać tego co mi potrzebne

    • Nie musisz szukać, masz apkę w tle wystarczy standardowo skorzystać z ikony na pulpicie i tak samo uruchamia ją z tła, za dużo tego tła, ale tak to działa.

    • zakius

      no jak ma się porządek wystarczy, ale na iosie i standardowych androidowych launchdrach to godzina szukania po ekranach

  • Waldika

    Nie bardzo rozumiem… aplikacja w tle jest zapisana w pamięci. Aby ją w utrzymać, należy utrzymać napięcie na kościach pamięci. A do tego jest potrzebna energia. Ergo, trzymanie aplikacji w tle drenuje baterię.
    Ja w tym artykule niczego nie widzę, co by wyjaśniało fenomen zwalniania RAMu. Artykuł mówi – tak jest, uwierz w to. Naprawdę tak jest, serio. No nie zamykaj, nie musisz, iOS magicznie je zamraża i uwalnia RAM.

    No to niech ktoś mi wyjaśni, technicznie jak to działa? Bo ja, w swoim 6s, czuję, kiedy muszę wywalić aplikacje z pamięci. Po prostu telefon zwalnia i tyle.

    • Adi

      Jeśli chodzi o zużycie energii, to podtrzymywanie pamięci RAM to nic przy zapisywaniu i odczytywaniu z pamięci Flash oraz zwiększonym użyciu CPU na ponowne uruchomienie aplikacji.

    • The Truth

      Na starszych jest to jeszcze bardziej odczuwalne. Przy grach takich jak GTA III czy San Andreas w AppStore było nawet długo napisane aby zamknąć wszystkie aplikacje przed uruchomieniem gry.

      Chodzi o to, że są dwie prawdy:
      a) zamykanie aplikacji i otwieranie na nowo bardziej drenuje baterie,
      b) bez zamykania aplikacji iPhone zamula ale bierze mniej prądu.

      Osobiście takie podejście by nie zamykać aplikacji to jest możliwe dopiero gdzieś od iPhone 6s, wcześniej przy 1 GB ramu i np. iPhonie 6 Plus z rozdziałką większa niż Full HD zapchanie pamięci jest zbyt widoczne aby to zignorować ;)

  • MDW

    Dzisiaj większość aplikacji zjada tyle RAMu, że gdy urichamiamy trzecią czy czwartą to system już musi ubić pierwszą. Z każdym podwojeniem ilości RAMu w iPhonie aplikacje robią się 4 razy większe. :) Tak więc z tą ilością RAMu to bym nie przesadzał. :)

  • FrostyPL

    W przypadku Androida już chyba przy wersji 4.0 inżynierowie krzyczeli, by nie czyścić RAMu, bo to bardziej szkodzi niż pomaga. Powtarzam to znajomym od wielu lat, ale trudno zmienić nawyki ludzi pracujących całe życie na desktopach, gdzie to normalna praktyka.

  • Uriasz

    a jeśli ma suwaczek przy odświeżaniu w tle wyłączony to wystarczy to, czy i tak muszę dla każdej apki odznaczyć dodatkowo?

  • Nose4s✓ᵛᵉʳᶦᶠᶦᵉᵈ

    A co z grami? Też trzymać je w tle? Podejrzewam, że one nieźle jedzą baterię nawet w tle (z tego co zauważyłem).

  • maciej

    pracuje na ipadzie i zawsze zamykam aplikacje. jak jestem u klienta i skacze miedzy apkami, to ostatnie, co chce, to zeby widzial w tle odpalone gierki i inne pierdoly. z drugiej strony, ten sam ipad, w domu, i nie mam ochoty przypominac sobie o projektach.

    niestety, apple nie oferuje profili uzytkownika, gdzie wszystko mogloby byc ladnie oddzielone :(

  • Summer

    ok, a jak to działa na maku ? Tak samo ? Bo w sumie tu często zamykam apki, bo jednak pamięć zżera strasznie. Ech trzeba było sobie 16gb kupic…

  • Samuraj

    Kurcze szkoda, że sobie tego nie zapisałem ale ktoś z komentujących kiedyś uzmysłowił całej bandzie owiec jak iOS sprytnie robi ludzi w ciula.
    Otóż robiony jest screen z aplikacji zanim ją zamrozi/zahibernuje. Odpalasz i masz wrażenie, że wracasz do okna które ostatnio widziałeś.
    G****prawda. Widzisz screena, a smartfon odpala apkę. Trwa to co prawda ułamek sekund bądź sekundę ale JEST ONA NA NOWO ODPALANA.
    Dlatego nie możemy ubijać apek w iOS bo nie będzie screena i wówczas cały misterny plan Apple idzie fpizdu.

    • stefan

      ten „bardzo ciężki system” na dwóch rdzeniach i z połowę mniejszym zegarem cpu pokonuje flagowce z andrutem na ośmiu.

      Jak jesteś taki mądry i nie dasz się zrobić w ciula korporacji z Cupertino, to na pewno znajdziesz w brud porównań. Powodzenia, nie daj się!

    • Samuraj

      Nie czytasz ze zrozumieniem

  • Daniel

    Tylko że aplikacje w iOS nie są trzymane w ramie, lecz często hibernowane.
    Zupełnie inna filozofia niż na Androidzie.