V iOS 4 byl představen multitasking a od té doby mnoho uživatelů řeší, jak multitasking vypnout, aby neplýtvali prostředky a baterie vydržela co nejdéle. Aplikace ale nemusíte vypínat a v tomto článku vám vysvětlím proč.
Multasking v iOS 4 není ten stejný multitasking, jako znáte z desktopu či z Windows Mobile. Někdo může mluvit o omezeném multitaskingu, někdo o chytrém způsobu multitaskingu. Pojďme na to pěkně popořadě.
Nová vlastnost iOS 4 je možnost takzvaného rychlého přepínání aplikaci (Fast Switching). Pokud kliknete na home tlačítko, tak se stav aplikace uloží a při vracení se zpět do aplikace se objevíte přesně tam, kde jste skončili před vypnutím. Aplikace ale není spuštěna na pozadí, jen její stav před vypnutím zamrazil.
Multitasking lišta, zapínající se dvojklikem na home tlačítko, je spíše lišta naposledy spuštěných aplikací. Žádná z těchto aplikací na pozadí neběží (až na výjimky), není potřeba je vypínat. Kdyby v iPhonu docházela paměť RAM, tak si je iOS 4 vypne sám. Právě při přepínání se mezi aplikacemi využijete vlastnost Fast Switching, protože díky ní se přepnete do jiné aplikace relativně okamžitě.
V aktualizacích App Store často objevíte tzv. iOS 4 kompatibilitu. To právě často znamená zabudování funkce Fast Switching do aplikace. Pro ukázku jsem vám připravil video, kde je vidět rozdíl mezi aplikací s Fast Switching a bez ní. Všimněte si rychlosti přepnutí se zpět.
Už jsme si tedy vysvětlili, že spodní lišta vyvolaná dvojklikem home tlačítka vlastně není multitasking. To ale neznamená, že by v novém iOS 4 multitasking vůbec nebyl. V iOS 4 existuje několik multitasking služeb.
- Hudba na pozadí – některé aplikace, například streamovaná rádia, mohou běžet na pozadí. Na pozadí neběží celková aplikace, ale pouze služba – v tomto případě přehrávání streamovaného audia.
- Voice-over-IP – typickým zástupcem zde bude Skype. Tato služba umožňuje přijímat hovory, ačkoli aplikace není zapnutá. Signalizace zapnuté aplikace probíhá tak, že se objeví nová horní lišta s názvem dané aplikace. Nepleťte si tuto službu s Instant Messagingem, zprávy vám budou moci chodit i nadále pouze přes push notifikace.
- Lokalizace na pozadí – na pozadí může běžet i služba využívající GPS. Můžete se tak z navigace přepnout do mailu a navigace vás může i nadále navigovat alespoň hlasem. GPS tak nově může běžet na pozadí.
- Dokončování úloh – pokud například stahujete nejnovější zprávy z RSS, tak i po vypnutí aplikace se může tento úkol dokončit. Po skočení (stáhnutí) ale aplikace již neběží a nemůže nic dalšího dělat. Tato služba pouze dokončí rozdělaný „úkol“.
- Push notifikace – ty již všichni známe, aplikace nám mohou posílat přes Internet notifikace o nějaké události. Pravděpodobně to zde již nemusím rozebírat.
- Lokální notifikace – to je novinka iOS 4. Nyní si můžete v některé aplikaci nastavit, že chcete být v nějaký čas upozorněni na nějakou událost. Aplikace nemusí být zapnutá a ani nemusíte být na Internetu a iPhone vás upozorní.
Přemýšlíte, co například tedy iOS 4 neumí? Jak je multitasking omezen? Například takový Instant Messaging program (ICQ) nemůže běžet na pozadí – musel by komunikovat a to mu Apple nedovolí. Pro tyto případy ale existuje řešení například v tom, že použijete aplikaci (např. Meebo), která zůstává připojená i po vypnutí na serveru daného vývojáře a v případě, že vám dojde zpráva, tak jste upozorněni push notifikací.
Tento článek vzniknul jako přehled toho, co to vlastně multitasking v iOS 4 znamená. Vznikl z toho důvodu, že jsem kolem sebe viděl zmatené uživatele, kteří neustále otevírali multitasking lištu a aplikace ihned po použití zavírali. Toto je ale nesmysl a není potřeba nic takového dělat.
Steve Jobs řekl, že nechce, aby uživatelé museli koukat do správce úloh a neustále řešit volné prostředky. Todle řešení prostě funguje, toto je Apple.
Díky za pěkný článek.
Jen bych doplnil, že ukončení aplikace může mít jeden praktický aspekt – aplikace se tím vlastně zresetuje. Konkrétně první verze IM+ pro iOS4 měla nějaký bug a na stránce podpory jako dočasné řešení (než vydají novou verzi) právě doporučovali divně se chovající aplikaci ukončit a spustit znovu.
Urcite je vhodne pouzivat vypinani napriklad k resetu aplikace, to naprosto souhlasim!
Děkuji za článek,
jen bych chtěl podotknout, že proto, aby aplikace zůstali načteny v RAM a fungoval tak fast app switching, je potřeba energie baterky, a to o něco více, než potřebuje ve standby modu, kdy aplikace je ukončena (neberme teď v potaz memory leaks).
Takže ano tento způsob je šetrnější k baterce,ale samotný fakt, že je RAM zaplněna aplikacemi způsobí určitou o něco větší zátěž baterie.
Bylo by tedy vhodne,aby Apple přidal možnost, některé aplikace nenechat běžet v RAM, user by si navolil jen ty aplikace, které chce nechat v RAM, ostatní by se vypínaly, jedná se aplikace, které např. user zapíná jednou za čas..
Celá RAM se přece napájí jako celek. Jestli snůška bajtů v ní je zmražená aplikace nebo volný prostor, je přece irelevantní. A co teprve fragmentace paměti atp… Jak by asi paměťový čip poznal, u které části má vypnout a napájení a u které ne? Je to prostě blbost. Spotřeba paměťových čipů, pokud se nemění jejich obsah, je dneska navíc minimální.
promiň, ale moje uživatelský zkušenosti hovoří jinak, baterka je, byť nepatrně,ale je zatížená… a jak tu někdo níže píše, snižuje se i odezvana 3GS,ka na tom asi bude líp…o tom žádná
Opravdu nemá být jak zatížená, je to přesně tak, jak píše Adam. Paměti by měly být napájeny stále stejně a na procesor tyto uspané aplikace nemají vliv..
Jako spis jsem mel a obcas mam problemy s mensi vydrzi iphonu 3gs pri pouzivani aplikaci, ktere nejsou prizpusobeny pro ios 4 ale to se stale zlepsuje a zlepsuje, kazdej den pomalu stahuju par update … od ty doby co prijela prvni vlna updatu pro iphone aplikace se vsechno stabilizovalo ;) a je fakt ze sem taky jednou musel udelat restore aniz bych chtel :)
ja osobne jsem vyssi spotrebu baterie nezpozoroval
Chtěl bych podotknout, ze čím více nevypnutych aplikaci, tom méně paměti a tím pomalejší IPhone… v mem případe se 3GS dostane klidně na 3 MB a je jak želva ….
Když dochází paměť, tak iPhone vypíná nejdříve spuštěné aplikace, neustále tak má dostatek paměti RAM. Na svém iPhone 3GS žádné zpomalení nepozoruji (a to jsem opravdu heavy user)..
můj 3GS se zpomalí ukrutně… trva mu pak věčnost než otevře sms, kalendář atd… uzavření par aplikaci pomůže razantně… (vetsinou Safari a omnifocus postačí…)
Bohuzel musim potvrdtit, je to tak.
Tie mozem potvrdit – je to tak. 3GS s viacerymi spustenymi aplikaciami sa proste spomaluje. Co sam nechapem, ale naozaj to na telefone pozorujem.
4G má dvojnásobek paměti, takže tam to bude určitě o dost lepší…
ani ja zadne zpomaleni nepozoruji, spis se mi zada ze je novy OS jeste rychlejsi nez pred tim, ale to je asi jen muj subjekt. dojem
Mam v iphone 15gb aplikaci, pouzivam je a nepozoruji. Je fakt ze jsem mel podobny problem a dokonce sem se chtel vratit na 4.0 GM, protoze ta mi fungovala lip … bohuzel nemam JB a nemam ani ulozeny SHSH bloby, takze nemoznost. Udelal jsem restore a vsechno zacalo fungovat svizne a krasne ;)
Uz jsem videl nekde zminku o lokalnich notifikacich, ale nikde jsem nenasel k tomu jakoukoliv volbu. Napr. aktualizovany Pocket Informant by je mel mit, ale … nevim. Nejak celkove se mi notifikace na mem iPhonu nezdaji. Nejsem spokojeny, prijdou mi nedostatecne.
A jde natvrdo vypnout uspaná aplikace? Případně jak ukončit aplikaci, když stisk Home ji automaticky odsune na pozadí?
Jde – na jedné ikonce se podrží prst, pak se všechny začnou třepat a objeví se na nich mínuska
Dle mého pozorování iOS4 na 3Gs telefon při velké zátěži udělá z pěkného svižného moderního telefonu docela nepříjemný smartphone typu WM (či PalmOS mého starého Treo680) – prostě laguje, laguje, laguje . Jediné co pomáhá je pravidelně čistit spuštěné aplikace a to mne opravdu nebaví a jailbreakovat nechci – vážně přemýšlím o návratu k iOS3, ale nevím co by tomu říkaly apps optimalizované v současnoti pro iOS4. Nevím, asi jsem ještě větší heavy user než autor článku, ale pomaaaallliiičku se spouštějící applikace jsou nepřehlédnutelné – ale běžně běžím -kalendář, telefon, sms, poznámky, things, 8stranek v safari, geocaching, fotak, kontakty, Bibli, iPod a appstore (3MB volné RAMM). Jsem fanda Apple, ale iOS4 se IMHO pro starší HW (včetně 3Gs) prostě nehodí.
bullshit. Mám 3GS a s iOS 4 absolutně bez problému. iOS 4 je pro iOhone 4 a 3GS. Ostatni maji proste smulu, coz muze zamrzet (jako majitele 2G to opravdu chapu) ale je to logiceke. Bud chceme vyvoj sowftu a to samozrejme bude i neceo „stat“, nebo chceme aby bylo stale stejne zelezo a to musime pocitat s tim, ze se SF prilis nezmeni.
iPhone to má možná s multitaskingem vyřešeno dobře, ale některé aplikace bohužel ne. Například COMIC READER MOBI mi prostě suše oznámí, že nenačte další stránku protože má málo paměti. Většinou musím povypínat téměř všechny uspané aplikace, než se zase rozhýbe:-( A to mám 3GS a výše uvedená aplikace je údajně upravena pro OS4.
zkus to urgovat u supportu aplikace, evidetne je problem tam ;(
Může mi prosím někdo vysvětlit, kde se ty lokální notifikace nastavují? Je to v Nastavení > Oznámení a v něm to musím určitým aplikacím povolit? Jinak jsem žádné jiné nastavení notifikací nenašel (další jsou už jen v nastavení vyzvedávání e-mailu a to je tuším to Push, které odešle oznámení ze serveru) Děkuji!
Lokalni notifikace musi aplikace podporovat, napriklad zajimavou aplikaci s lokalnimi notifikacemi je Notify 2…
No dobře, ale co třeba ten Pocket Informant? Měl by to umět, ale nikde jsem si nevšiml rozdílu mezi lokálními notifikacemi a jinými. Přiznám se, že jsem to ani nezkoušel. Zkouší Palringo v premium verzi, něco o notifikacích se v popisu píše (to už samozřejmě ne o lokálních), ale taky nemám žádný badge na ikoně. Z aplikace můžu přeskočit jinam a pak zase zpět, ale po návratu opět probíhá logování, což jsem tak nějak nečekal. Pokud v tom Palringu přímo nejsem, nikde žádná notifikace. Je to v pořádku? Nejhůř je na tom pak asi aplikace 2Do, která uvádí funkčnost notifikací jen pod WiFi. Na úkolovník dost ubohé, že jo. Za 7 dolarů… trapas. :-(
s backgrounder mam stale lepsi pocit, ako s realizacie „multitaskingu“ od apple. inac ziadne spomalenie 3GS nepozorujem, ani pri zaplnenej ramke. najprv som zo zvyku vypinal aplikacie cez sbsettings, neskor som od toho upustil a pohoda
Zpomalení na 3GS jsem si všiml, ne pokaždé, ale občas ano. Každopádně ne všechny aplikace korektně fungují, třeba TV Seznam od Seznamu občas nezaregistruje přesun do aktivní služby a nenačte updaty tv programů, takže pomůže restart aplikace, což je opruz proti původnímu stavu.
Nazdar vespolek,
resil jste nekdy nekdo reklamaci aplikace ? s iOS4 mi nefunguje navigon a €89 neni uplne malo… jakym zpusobem probiha reklamace ?
Problém není v aplikaci. Zkus restartovat iPhone, pokud to nepomůže, restore celého telefonu. Navigon mi funguje na 3G s iOS4 bez problému.
Zpomalení na 3GS taky nepozoruju, ale kde to vadí, je znovunačítání otevřených oken Safari. Pokud je dostatek RAM, tak obsah již načtených stránek zůstane zachován.