Zamknij reklame

Wszyscy znamy lekcję „wielozadaniowość = umiejętność wykonywania kilku procesów jednocześnie”. Używamy go w naszych komputerach, nie zdając sobie szczególnie sprawy z jego obecności. Przełączanie pomiędzy aplikacjami lub oknami jednej aplikacji odbywa się (dla nas) w czasie rzeczywistym i taką możliwość systemu operacyjnego traktujemy jako oczywistość.

Zadanie inne

System operacyjny przydziela procesor wszystkim aplikacjom w małych odstępach czasu. Te okresy czasu są tak małe, że ich nie zauważamy, więc wydaje się, że wszystkie aplikacje korzystają z procesora w tym samym czasie. Możemy tak myśleć wielozadaniowość w iOS 4 działa dokładnie tak samo. To nie jest takie. Głównym powodem jest oczywiście pojemność baterii. Gdyby rzeczywiście wszystkie aplikacje pozostawiono działające w tle, prawdopodobnie za kilka godzin musielibyśmy szukać gniazda.

Większość aplikacji kompatybilnych z iOS 4 przechodzi w „tryb zawieszenia” lub zostaje uśpiona po naciśnięciu przycisku Home. Analogią może być zamknięcie pokrywy laptopa, który od razu przechodzi w tryb uśpienia. Po otwarciu pokrywy laptop się wybudza i wszystko jest w dokładnie takim samym stanie jak przed zamknięciem pokrywy. Ponadto istnieją aplikacje, w których naciśnięcie przycisku Początek powoduje ich zakończenie. I przez to mamy na myśli prawdziwe zakończenie. Programiści mają wybór, której z tych metod użyć.

Ale jest jeszcze inna kategoria zastosowań. Są to aplikacje, które naprawdę działają w tle, nawet jeśli robisz coś zupełnie innego na swoim iDevice. Skype jest dobrym przykładem, ponieważ wymaga stałego połączenia z Internetem. Innymi przykładami mogą być aplikacje odtwarzające muzykę w tle (Pandora) lub aplikacje wymagające ciągłego korzystania z GPS. Tak, te aplikacje zużywają baterię, nawet jeśli działają w tle.

Spać czy zestrzelić?

Niektóre aplikacje kompatybilne z iOS 4, które po naciśnięciu przycisku Home powinny zostać uśpione (przełączone w „tryb zawieszenia”), nadal działają w tle. Apple dał programistom dokładnie dziesięć minut na wykonanie przez aplikację zadania, czymkolwiek ono było. Załóżmy, że pobierasz plik w GoodReader. Nagle ktoś chce do Ciebie zadzwonić, a Ty musisz po prostu przyjąć to ważne połączenie. Rozmowa nie trwała dłużej niż dziesięć minut, powrócisz do aplikacji GoodReader. Plik mógł już zostać pobrany lub jest nadal pobierany. A co jeśli rozmowa zajmie więcej niż dziesięć minut? Aplikacja, w naszym przypadku GoodReader, będzie musiała przerwać działanie i poinformować iOS, że można ją uśpić. Jeśli tego nie zrobi, zostanie bezlitośnie zniszczona przez sam iOS.

Teraz znasz różnicę między wielozadaniowością „mobilną” i „komputerową”. O ile dla komputera ważna jest płynność i szybkość przełączania pomiędzy aplikacjami, o tyle w przypadku urządzeń mobilnych najważniejsza jest zawsze żywotność baterii. Do tego faktu trzeba było dostosować także wielozadaniowość. Dlatego po przeczytaniu tego artykułu, jeśli naciśniesz dwukrotnie przycisk Początek, nie zobaczysz już „paska aplikacji działających w tle”, a w zasadzie jedynie „listę ostatnio używanych aplikacji”.

Autor: Daniel Hruška
Źródło: onemoretap.com
.