Wielozadaniowość została wprowadzona w iOS 4 i od tego czasu wielu użytkowników zastanawia się, jak wyłączyć wielozadaniowość, aby nie marnować zasobów, a bateria trzymała jak najdłużej. Ale nie musisz wyłączać aplikacji. W tym artykule wyjaśnię dlaczego.
Wielozadaniowość w iOS 4 to nie ta sama wielozadaniowość, jaką znasz z komputerów stacjonarnych lub urządzeń z systemem Windows Mobile. Ktoś może mówić o ograniczonej wielozadaniowości, ktoś o inteligentny sposób na wielozadaniowość. Omówmy to po kolei.
Nowością w iOS 4 jest tzw. szybkie przełączanie aplikacji (Fast Switching). Jeśli klikniesz przycisk strony głównej, stan aplikacji zostanie zapisany, a kiedy wrócisz do aplikacji, pojawisz się dokładnie w miejscu, w którym ją przerwałeś przed jej wyłączeniem. Ale aplikacja nie działa w tle, tylko jej stan zamarł przed wyłączeniem.
Pasek wielozadaniowości, aktywowany dwukrotnym kliknięciem przycisku Home, to raczej pasek ostatnio uruchomionych aplikacji. Żadna z tych aplikacji nie działa w tle (z wyjątkami) nie ma potrzeby ich wyłączania. Jeśli w iPhonie zabraknie pamięci RAM, iOS 4 sam ją wyłączy. To właśnie podczas przełączania się pomiędzy aplikacjami korzystasz z funkcji Fast Switching, ponieważ dzięki niej stosunkowo natychmiastowo przełączasz się na inną aplikację.
W aktualizacjach App Store często można znaleźć tzw. kompatybilność z iOS 4. Często oznacza to wbudowanie funkcji Fast Switching w aplikację. Na potrzeby demonstracji przygotowałem film, na którym można to zobaczyć różnica pomiędzy aplikacją z funkcją szybkiego przełączania i bez niej. Zwróć uwagę na prędkość przełączania.
Wyjaśniliśmy już, że dolny pasek wywoływany po dwukrotnym kliknięciu przycisku strony głównej w rzeczywistości nie jest wielozadaniowy. Nie oznacza to jednak, że w nowym iOS 4 w ogóle nie ma wielozadaniowości. W iOS 4 dostępnych jest kilka usług wielozadaniowości.
- Muzyka w tle – niektóre aplikacje, takie jak radia strumieniowe, mogą działać w tle. W tle nie działa cała aplikacja, a jedynie usługa – w tym przypadku strumieniowe odtwarzanie dźwięku.
- Voice-over-IP – typowym przedstawicielem będzie tutaj Skype. Usługa ta pozwala na odbieranie połączeń pomimo, że aplikacja nie jest włączona. Aktywowana aplikacja sygnalizowana jest pojawieniem się nowego górnego paska z nazwą danej aplikacji. Nie myl tej usługi z komunikatorem internetowym, wiadomości będziesz mógł odbierać wyłącznie poprzez powiadomienia push.
- Lokalizacja w tle – usługa korzystająca z GPS może także działać w tle. Możesz w ten sposób przełączyć się z nawigacji na pocztę e-mail, a nawigacja będzie mogła nadal prowadzić Cię przynajmniej głosowo. GPS może teraz działać w tle.
- Wykonanie zadaniah – jeśli przykładowo pobierasz najświeższe wiadomości z kanału RSS, zadanie to można wykonać nawet po zamknięciu aplikacji. Jednak po skoku (pobraniu) aplikacja przestaje działać i nie może nic więcej zrobić. Usługa ta jedynie kończy podzielone „zadanie”.
- Powiadomienia push – wszyscy je już znamy, aplikacje mogą wysyłać nam powiadomienia o wydarzeniu przez Internet. Chyba nie muszę już w to tutaj wchodzić.
- Powiadomienie lokalne – to nowa funkcja iOS 4. Teraz możesz ustawić w jakiejś aplikacji, że chcesz otrzymywać powiadomienia o zdarzeniu o określonej godzinie. Aplikacja nie musi być włączona ani nawet mieć połączenia z Internetem, a iPhone Cię o tym powiadomi.
Zastanawiasz się, czego nie potrafi na przykład iOS 4? W jaki sposób wielozadaniowość jest ograniczona? Na przykład taki program do obsługi wiadomości błyskawicznych (ICQ) nie może działać w tle – musiałby się porozumieć, a Apple mu na to nie pozwoli. Ale na takie przypadki jest rozwiązanie, np. że korzystasz z aplikacji (np. Meebo), która pozostaje połączona nawet po jej wyłączeniu na serwerze danego dewelopera, a jeśli otrzymasz wiadomość, zostaniesz o tym powiadomiony pushem powiadomienie.
Ten artykuł powstał jako przegląd tego, co właściwie oznacza wielozadaniowość w iOS 4. Powstał, ponieważ widziałem wokół siebie zdezorientowanych użytkowników, którzy otwierali pasek wielozadaniowości i zamykali aplikacje natychmiast po ich użyciu. Ale to nonsens i nie ma potrzeby robić czegoś takiego.
Steve Jobs powiedział, że nie chce, aby użytkownicy musieli cały czas zaglądać do menedżera zadań i zajmować się wolnymi zasobami. Tutaj rozwiązanie po prostu działa, to jest Apple.
Dziękuję za fajny artykuł.
Dodam tylko, że zamknięcie aplikacji może mieć jeden aspekt praktyczny – aplikacja faktycznie zostaje zresetowana. W szczególności pierwsza wersja IM+ dla iOS4 zawierała jakiś błąd i na stronie pomocy technicznej jako rozwiązanie tymczasowe (przed wydaniem nowej wersji) zalecono jedynie zamknięcie i ponowne uruchomienie dziwnie zachowującej się aplikacji.
Z pewnością właściwe jest użycie zamknięcia, na przykład w celu zresetowania aplikacji, całkowicie się z tym zgadzam!
Dziękuję za artykuł,
Pragnę tylko zwrócić uwagę, że aby aplikacje mogły pozostać w pamięci RAM i aby szybkie przełączanie aplikacji mogło działać, potrzebne jest zasilanie z baterii, trochę więcej niż w trybie czuwania, gdy aplikacja jest zamknięta (nie zabierajmy pamięci wycieki pod uwagę teraz).
Więc tak, ta metoda jest bardziej oszczędzająca baterię, ale samo zapełnienie pamięci RAM aplikacjami spowoduje pewne nieco większe obciążenie baterii.
Byłoby zatem wskazane, aby Apple dodał opcję nie pozwalającą niektórym aplikacjom działać w RAM-ie, użytkownik wybierałby tylko te aplikacje, które chce zostawić w RAM-ie, inne byłyby wyłączone, są to aplikacje, które np. użytkownik włącza się raz na jakiś czas..
W końcu cała pamięć RAM jest zasilana jako całość. Nie ma znaczenia, czy znajdująca się w nim grupa bajtów to zamrożona aplikacja, czy wolne miejsce. A co z fragmentacją pamięci itp. Skąd układ pamięci miałby wiedzieć, którą część powinien wyłączyć i włączyć, a którą nie? To po prostu głupie. Zużycie układów pamięci, jeśli ich zawartość się nie zmienia, jest dziś również minimalne.
sorry, ale z moich doświadczeń wynika inaczej, bateria jest, choć lekko naładowana... i jak ktoś pisze poniżej, reakcja 3GS'a też maleje, co chyba będzie lepsze... nic na ten temat
To naprawdę nie powinno być aż tak obciążone, jest dokładnie tak jak pisze Adam. Pamięci należy zawsze zasilać w ten sam sposób, a uśpione aplikacje nie wpływają na procesor.
Prawdę mówiąc, miałem i czasami mam problemy z mniejszą żywotnością baterii w iPhone 3gs podczas korzystania z aplikacji, które nie są przystosowane do iOS 4, ale jest coraz lepiej, każdego dnia powoli pobieram kilka aktualizacji. .od kiedy przyszła pierwsza fala aktualizacji aplikacji na iPhone'a wszystko się ustabilizowało ;) i faktem jest, że też kiedyś musiałem przeprowadzić przywracanie nawet nie chcąc :)
Osobiście nie zauważyłem większego zużycia baterii
Zaznaczam, że im więcej aplikacji nie jest wyłączonych, tym mniej pamięci i wolniejszy iPhone... w moim przypadku 3GS bez problemu osiąga 3 MB i zachowuje się jak żółw....
Kiedy kończy się pamięć, iPhone najpierw zamyka uruchomione aplikacje, dzięki czemu zawsze ma wystarczającą ilość pamięci RAM. Nie zauważam żadnego spowolnienia na moim iPhone 3GS (a jestem naprawdę intensywnym użytkownikiem).
mój 3GS strasznie zwalnia… wtedy otwieranie SMS-ów, kalendarza itp. zajmuje całą wieczność… zamknięcie aplikacji par bardzo pomaga… (przeważnie wystarczą Safari i omnifocus…)
Niestety muszę potwierdzić, że tak jest.
Mogę to potwierdzić – to prawda. 3GS z wieloma uruchomionymi aplikacjami po prostu zwalnia. Czego sam nie rozumiem, ale naprawdę obserwuję to przez telefon.
4G ma dwukrotnie większą pamięć, więc tam na pewno będzie dużo lepiej...
Nie zauważam też spowolnienia, wydaje mi się, że nowy system operacyjny jest jeszcze szybszy niż wcześniej, ale to już chyba tylko mój temat. wrażenie
Mam 15 GB aplikacji w iPhonie, korzystam z nich i nie przestrzegam ich. Faktem jest, że miałem podobny problem i nawet chciałem wrócić do 4.0 GM, bo u mnie lepiej to działało... niestety nie mam JB i nie mam nawet zapisanych blobów SHSH, więc to niemożliwe . Zrobiłem przywracanie i wszystko zaczęło działać szybko i pięknie ;)
Widziałem już gdzieś wzmiankę o powiadomieniach lokalnych, ale nigdzie nie znalazłem takiej opcji. Np. zaktualizowany kieszonkowy informator powinien je mieć, ale… nie widzę. Jakoś w ogóle nie widzę powiadomień na moim iPhonie. Nie jestem zadowolony, uważam je za niewystarczające.
I czy można wyłączyć aplikację usypiającą? Alternatywnie, jak zamknąć aplikację, gdy naciśnięcie przycisku Home automatycznie przesuwa ją w tło?
Działa - przytrzymujesz palec na jednej ikonce, potem wszystkie zaczynają się trząść i pojawia się na nich minus
Z moich obserwacji wynika, że iOS4 na telefonie 3G pod dużym obciążeniem zmienia ładny, zgrabny, nowoczesny telefon w raczej nieprzyjemny smartfon typu WM (lub PalmOS mojego starego Treo680) - po prostu występują opóźnienia, opóźnienia, opóźnienia. Jedyne, co pomaga, to regularne czyszczenie uruchomionych aplikacji, a tego bardzo nie lubię i nie chcę jailbreakować - poważnie myślę o powrocie do iOS3, ale nie wiem, które aplikacje są zoptymalizowane pod iOS4 nazwałbym to w tej chwili. Nie wiem, jestem chyba jeszcze większym, intensywnym użytkownikiem niż autor artykułu, ale aplikacji, które uruchamiają się powoli, nie da się pominąć – ale normalnie biegam – kalendarz, telefon, sms, notatki, rzeczy, 8 stron w safari , geocaching, zdjęcia, kontakty, Biblia, iPod i sklep z aplikacjami (3 MB wolnej pamięci RAM). Jestem fanem Apple, ale IMHO iOS4 po prostu nie nadaje się dla starszego sprzętu (w tym 3G).
głupie gadanie. Mam 3GS z iOS 4 i nie ma żadnego problemu. iOS 4 jest przeznaczony dla iOhone 4 i 3GS. Ci drudzy po prostu mają problem, który może się zawiesić (jako posiadacz 2G bardzo to rozumiem), ale jest to logiczne. Albo chcemy rozwoju oprogramowania, a to będzie oczywiście taki mały „stan”, albo chcemy, żeby sprzęt pozostał taki sam i musimy liczyć się z tym, że SF nie zmieni się za bardzo.
iPhone może dobrze sobie radzić z wielozadaniowością, ale niestety niektóre aplikacje tego nie robią. Na przykład COMIC READER MOBI po prostu informuje mnie sucho, że nie załaduje następnej strony, ponieważ ma mało pamięci. Zwykle muszę wyłączyć prawie wszystkie aplikacje usypiające, zanim znów zacznie działać :-( Mam 3GS i powyższa aplikacja jest rzekomo zmodyfikowana dla OS4.
spróbuj namówić go za pomocą wsparcia aplikacji, problem najwyraźniej tam jest ;(
Czy ktoś może mi wyjaśnić, gdzie są ustawione powiadomienia lokalne? Czy jest to w Ustawieniach > Powiadomienia i czy muszę na to zezwalać w przypadku niektórych aplikacji? W przeciwnym razie nie znalazłem innych ustawień powiadomień (inne są tylko w ustawieniach odbioru poczty i podejrzewam, że to Push wysyła powiadomienie z serwera) Dziękuję!
Aplikacja musi obsługiwać powiadomienia lokalne, np. interesującą aplikacją z powiadomieniami lokalnymi jest Notify 2...
No dobrze, ale co z kieszonkowym informatorem? Powinien móc to zrobić, ale nigdzie nie zauważyłem różnicy między powiadomieniami lokalnymi a innymi. Przyznam, że nawet nie próbowałem. Próbują Palringo w wersji premium, w opisie jest napisane coś o powiadomieniach (oczywiście nie o lokalnych), ale u mnie też nie ma żadnego znaczka na ikonce. Mogę przeskoczyć z aplikacji w inne miejsce i z powrotem, ale kiedy wracam, loguję się ponownie, czego się nie spodziewałem. Jeśli nie jestem bezpośrednio w tym Palringu, nigdzie nie ma powiadomienia. W porządku? Najgorsze jest chyba aplikacja 2Do, która stwierdza, że powiadomienia działają tylko pod WiFi. Całkiem żałosne jak na listę zadań, prawda. Za 7 dolarów… bzdura. :-(
Nadal czuję się lepiej, korzystając z tła niż z implementacją „wielozadaniowości” w Apple. poza tym nie zauważam spowolnienia 3GS-a, nawet na pełnej klatce. na początku z przyzwyczajenia wyłączałem aplikacje przez sbsettings, później dałem sobie spokój i było ok
Zauważyłem spowolnienie na 3GS, nie za każdym razem, ale czasami. Tak czy inaczej nie wszystkie aplikacje działają poprawnie, np. TV Seznam z Seznam czasami nie rejestruje przejścia do aktywnej usługi i nie ładuje aktualizacji programów telewizyjnych, więc pomoże ponowne uruchomienie aplikacji, co jest odwrotnością stanu pierwotnego.
Witam społeczność,
Czy ktoś kiedykolwiek spotkał się z reklamacją aplikacji? w iOS4 nie działa mi nawigacja, a 89 euro to wcale nie tak mało... jak wygląda proces reklamacji?
Problem nie leży w aplikacji. Spróbuj ponownie uruchomić iPhone'a, jeśli to nie pomoże, przywróć cały telefon. Navigon działa dobrze dla mnie w 3G z iOS4.
Nie zauważam też spowolnienia na 3GS, ale denerwuje mnie ponowne ładowanie otwartych okien Safari. Jeśli jest wystarczająca ilość pamięci RAM, zawartość już załadowanych stron zostanie zachowana.