Apple od najnowszej wersji wprowadziło multitasking, czyli wielozadaniowość po naszemu. Tradycyjnie rozumiemy to jako możliwość wykonywania wielu operacji jednocześnie, zazwyczaj na wielu programach. Przykładem może być przeglądanie książki adresowej podczas pisania maila oraz jednoczesne zerkanie w kalendarz czy mamy wolną chwilę w wybranym dniu.
Specyfika mobilnych systemów operacyjnych oraz rozmiarów samych telefonów wykluczają takie podejście do tematu. Ekran jest zwyczajnie zbyt mały, aby wyświetlać kilka okien równocześnie. Byłoby to niewygodne i bardzo nieergonomiczne. Wydajność przy wykonywanych czynnościach spadłaby, a irytacja poszybowałaby na nieznane dotąd wyżyny.
Będąc ograniczonym do jednej aplikacji na ekranie w danej chwili, wielozadaniowość musi zostać przedefiniowana na mobilne platformy. Podejście Apple zmierza do płynnej wymiany informacji pomiędzy różnymi aplikacjami, ale jeszcze do celu nie dotarto. Widać to na przykładzie chociażby poczty z załącznikami — otwierając PDF pojawia nam się opcja “przeniesienia” go do programów np. iBooks czy Air Sharing, oczywiście poza możliwością przeczytania go w samym kliencie pocztowym. Taka funkcjonalność jest obecnie ograniczona do wybranych aplikacji, z czasem jednak będzie się to rozszerzać na inne programy i typy plików.
To co obecnie jest najczęściej przedstawiane jako multitasking to zwyczjne “fast app-switching”, czyli szybkie przełączanie się pomiędzy aplikacjami. Wystarczy dwa razy szybko kliknąć przycisk Home i otwiera się lista niedawno używanych programów. Wybór jednego z nich natychmiast przenosi nas do niego, bez konieczności odwiedzania głównego ekranu. Założenie jest takie, że aplikacja z której wychodzimy jest zamrażana. Jej stan jest zapisywany i po powrocie do niej zastaniemy ją dokładnie w tym stanie, w której ją opuściliśmy. Pozwoli to na kontynuację pracy czy grania bez straty czasu. Warto dodać, że zamrożona aplikacja nie zużywa baterii — ona nic nie robi, nie wykorzystuje w żaden sposób procesora, więc nie należy się tym przejmować. Implementacja funkcji zapamiętywania stanu ciąży na developerze — Apple tylko udostępnił narzędzia do tego celu. Na dzień dzisiejszy jest zaledwie garsta programów, które potrafią to wykorzystać, ale ich liczba wzrasta z każdym dniem.
Oprócz zamrażania stanu, Apple udostępnił jeszcze odpowiednie API, które umożliwiają programowi funkcjonowanie w tle. Na przykładzie Twitter for iPhone, który został uaktualniony dla iOS 4, działa to w następujący sposób: wyjście z app podczas gdy trwa wysyłanie nowego tweeta (lub uploadowanie zdjęcia wraz z nim) powoduje, że ta czynność będzie kontynuowana w tle. Po jej zakończeniu Twitter przejdzie w stan zamrożenia. Inaczej z kolei zachowa się nawigacja: jeśli podczas pracy na przykład TomToma zadzwoni telefon to w tle będą nam nadal przekazywane komunikaty głosowe, a sama aplikacja będzie miała dostęp do danych z GPSa. Skype z kolei będzie zachowywał się jak zwykła rozmowa telefoniczna — wątek odpowiedzialny za rozmowę będzie aktywny podczas gdy będziemy wykonywać inną czynność. Ostatnim przykładem niech będzie aplikacja do uploadowania zdjęć np. na Flickr: po wybraniu 20 plików uaktywniamy upload i wychodzimy z programu. Czynność będzie kontynuowana w tle i zostaniemy poinformowani o jej zakończeniu stosowną informacją.
Niektórzy zapewne zorientowali się, że de facto multitasking istnieje w iPhone od dłuższego czasu. Przecież mogliśmy przeglądać internet podczas rozmowy czy też wyjść z SMSów zanim wysłała się wiadomość. Nie była po prostu dostępna dla aplikacji z App Store.
Nie wiem jedynie co dzieje się z nawigacją typu TomTom po wyjściu z niej. Możemy ją oczywiście “zabić” przytrzymując palec na ikonkach w dolnym pasku odpowiedzialnym za fast app-switching, a następnie kliknąć w czerwony minus w rogu. To pytanie pozostawiam komuś kto ma możliwość tego sprawdzenia.
Na koniec chciałbym jeszcze przypomnieć, że aplikacje trwające w zamrożonym stanie nie obciążają procesora ani baterii. Nie trzeba ich ręcznie zamykać.
Aha — większość natywnych programów iPhone (tych od Apple) może od dłuższego czasu wykonywać operacje w tle.
W razie pytań zapraszam do komentarzy.
Podobne artykuły:
- Wszystko o iPhone OS 4.0 Przed paroma minutami zakończył się keynote Apple dotyczący przyszłości iPhone...
- Skype zamiast telefonu dla iPhone? Dzisiaj w App Store pojawił się najnowszy update do Skype,...
- iMovie tylko dla iPhone 4 Jeff Carlson z TidBITS donosi, że najnowsza aplikacja od Apple...
- MobileMe Gallery na iPhone Apple dodał kolejną aplikację dzisiaj dla subskrybentów ich usługi MobileMe,...
- iPhone 4 i iOS 4 — skrót informacji Apple zaprezentowało dzisiaj swoją najnowszą iterację smartphone’a — iPhone 4....
- iPhone OS 4 — pierwsze wrażenia Pozwoliłem sobie zainstalować betę iPhone OS 4 i nagrać krótki...
Dzisiaj @jsnell, redaktor Macworld, opublikował na Twitterze zdjęcie Yerba Buena Center, gdzie ma odbyć się muzyczny event Apple. Jak widać, prace wysokościowe zostały zakończone i już tylko czekamy na jutrzejszy event (...)
iWork doczekał się update’u do wersji 9.04 dodającej opcję eksportu dokumentów do formatu ePub, wspieranego przez iPada i iPhone poprzez aplikację iBooks. Update waży 71.2MB i w moim przypadku, dosyć szybko się pobierał. Dajcie znać jakie macie doświadczenia z eksportem dokumentów do ePub … Podobne artykuły:Uaktualnienie: Security 2010-005 W Software Update znajdziecie najnowsze uaktualnienie dla [...]




{ 4 komentarze/y… przeczytaj je poniżej lub dodaj swój własny }
Aplikacje rzeczywiście w tle nie obciążają procesora ani nie wpływają na żywotność baterii (o ile utrzymywanie danych w ram nie wpływa na żywotność baterii…) natomiast siedzą w pamięci operacyjnej. Przykład z 3GS: po dopaleniu 17 programów (w tym natywne) wolna pamięć to około 3 MB. Ale generalnie i tak jest bardzo fajnie :).
Z tego co wiem to najstarsze są wyłączane jeśli brakuje RAM więc nie powinno to robić problemów w teorii.
Co do nawigacji, to w Navigonie jest tak, że jeśli jest uruchomione prowadzenie (wyznaczona trasa), to przejście na inną aplikację nie powoduje wyłączenia pozycjonowania GPS (ikonka u góry nadal jest widoczna) oraz poleceń głosowych. Natomiast jeśli trasa nie jest wyznaczona – wyjście z programu zamraża jego działanie i telefon nie korzysta z odbiornika GPS.
Bardzo przydatny artykuł dziękuję
{ 2 trackbacki }