Мултитаскингът беше въведен в iOS 4 и оттогава много потребители се чудеха как да изключат многозадачността, така че да не губят ресурси и батерията да издържа възможно най-дълго. Но не е нужно да изключвате приложенията и в тази статия ще обясня защо.
Многозадачността в iOS 4 не е същата многозадачност, както познавате от работния плот или Windows Mobile. Някой може да говори за ограничена многозадачност, някой за интелигентният начин за многозадачност. Нека го направим по ред.
Нова функция на iOS 4 е така нареченото бързо превключване на приложения (Fast Switching). Ако щракнете върху началния бутон, състоянието на приложението ще бъде запазено и когато се върнете към приложението, ще се появите точно там, където сте спрели, преди да го изключите. Но приложението не работи на заден план само нейното състояние замръзна, преди да се изключи.
Лентата за многозадачност, активирана с двукратно щракване върху началния бутон, е по-скоро лента с наскоро стартирани приложения. Нито едно от тези приложения не работи във фонов режим (с изключения), не е необходимо да ги изключвате. Ако на iPhone свърши RAM, iOS 4 ще го изключи сам. Именно когато превключвате между приложения, използвате функцията Fast Switching, тъй като благодарение на нея превключвате на друго приложение сравнително веднага.
В актуализациите на App Store често ще намерите така наречената съвместимост с iOS 4. Това често означава изграждане на Fast Switching в приложението. За демонстрация съм подготвил видео, където можете да го видите разликата между приложение с бързо превключване и без нея. Обърнете внимание на скоростта на превключване назад.
Вече обяснихме, че долната лента, извикана чрез двукратно щракване върху началния бутон, всъщност не е мултитаскинг. Но това не означава, че в новия iOS 4 изобщо няма многозадачност. В iOS 4 има няколко услуги за многозадачност.
- Фонова музика – някои приложения, като поточно радио, може да работят във фонов режим. Цялостното приложение не работи във фонов режим, а само услугата - в случая поточно аудио възпроизвеждане.
- Глас през IP – типичен представител тук ще бъде Skype. Тази услуга ви позволява да получавате обаждания, въпреки че приложението не е включено. Активираното приложение се сигнализира с появата на нова горна лента с името на даденото приложение. Не бъркайте тази услуга с незабавни съобщения, ще можете да получавате съобщения само чрез насочени известия.
- Фонова локализация – услуга, използваща GPS, също може да работи във фонов режим. Така можете да превключите от навигация към електронна поща и навигацията може да продължи да ви навигира поне с глас. GPS вече може да работи във фонов режим.
- Изпълнение на задачатаh – например, ако изтегляте последните новини от RSS, тази задача може да бъде изпълнена дори след като приложението е затворено. След скачане (изтегляне) обаче приложението вече не работи и не може да прави нищо друго. Тази услуга изпълнява само разделената „задача“.
- Push известия – всички вече ги знаем, приложенията могат да ни изпращат известия за събитие през интернет. Вероятно няма нужда да се занимавам повече с това тук.
- Локално известяване – това е нова функция на iOS 4. Сега можете да зададете в някое приложение, че искате да бъдете уведомявани за събитие в определен час. Приложението не трябва да е включено и дори не е нужно да сте в интернет и iPhone ще ви уведоми.
Чудите ли се какво не може да направи например iOS 4? Как се ограничава многозадачността? Например такава програма за незабавни съобщения (ICQ) не може да работи във фонов режим – той ще трябва да общува и Apple няма да му позволи да направи това. Но има решение за тези случаи, например в това, че използвате приложение (напр. Meebo), което остава свързано дори след като е изключено на сървъра на дадения програмист, и ако получите съобщение, вие сте уведомени с натискане уведомление.
Тази статия е създадена като преглед на това какво всъщност означава многозадачност в iOS 4. Създаден е, защото виждах объркани потребители около мен, които непрекъснато отваряха лентата за многозадачност и затваряха приложения веднага след като ги използваха. Но това са глупости и няма нужда да правите нищо подобно.
Стив Джобс каза, че не иска потребителите да гледат в диспечера на задачите и да се занимават с безплатни ресурси през цялото време. Тук решението просто работи, това е Apple.
Благодаря за хубавата статия.
Бих добавил само, че прекратяването на приложението може да има един практичен аспект - приложението всъщност се нулира. По-конкретно, първата версия на IM+ за iOS4 имаше някакъв бъг и на страницата за поддръжка, като временно решение (преди да пуснат нова версия), те просто препоръчаха затваряне и рестартиране на приложението със странно поведение.
Със сигурност е подходящо да използвате shutdown, например, за да нулирате приложението, напълно съм съгласен!
Благодаря за статията,
Искам само да отбележа, че за да останат приложенията заредени в RAM и за да работи бързото превключване на приложения, е необходима мощност от батерията, малко повече от тази в режим на готовност, когато приложението е затворено (да не взимаме памет изтичане под внимание сега) .
Така че, да, този метод е по-щадящ батерията, но самият факт, че RAM паметта е пълна с приложения, ще доведе до малко по-голямо натоварване на батерията.
Следователно би било подходящо Apple да добави опцията да не позволява на някои приложения да работят в RAM, потребителят ще избере само тези приложения, които иска да остави в RAM, други ще бъдат изключени, това са приложения, които напр. потребителят се включва от време на време..
В крайна сметка цялата RAM се захранва като цяло. Дали купът от байтове в него е замразено приложение или свободно пространство е без значение. А какво ще кажете за фрагментирането на паметта и т.н.... Как чипът с памет ще разбере коя част трябва да изключи и включи и коя част не? Просто е глупаво. Потреблението на чипове с памет, ако съдържанието им не се промени, днес също е минимално.
съжалявам, но моя потребителски опит казва друго, батерията е, макар и леко, натоварена... и както някой пише по-долу, реакцията на 3GS също намалява, което вероятно ще е по-добре... нищо за това
Наистина не трябва да е толкова натоварено, точно както Адам пише. Паметите винаги трябва да се захранват по един и същи начин и тези пасивни приложения не влияят на процесора.
В интерес на истината, имах и понякога имам проблеми с по-малък живот на батерията на iPhone 3gs, когато използвах приложения, които не са адаптирани за iOS 4, но става все по-добър и по-добър, всеки ден бавно изтеглям няколко актуализации. .откакто пристигна първата вълна от ъпдейти за приложенията на iPhone всичко се стабилизира ;) и е факт, че и аз веднъж трябваше да направя възстановяване без дори да го искам :)
Аз лично не забелязах по-висока консумация на батерия
Държа да отбележа, че колкото повече приложения не са изключени, толкова по-малко памет и по-бавен айфон...при мен 3GS лесно стига до 3 MB и е като костенурка....
Когато паметта му свърши, iPhone първо изключва работещите приложения, така че винаги има достатъчно RAM. Не забелязвам никакво забавяне на моя iPhone 3GS (а аз съм наистина тежък потребител).
моят 3GS се забавя мъчително... след това отнема цяла вечност, за да отвори sms, календар и т.н.... затварянето на par приложението помага много... (най-вече Safari и omnifocus са достатъчни...)
За съжаление, трябва да потвърдя, че е така.
Мога да го потвърдя - вярно е. 3GS с множество работещи приложения просто се забавя. Това, което аз самият не разбирам, но наистина го наблюдавам по телефона.
4G има двойно повече памет, така че там определено ще е много по-добре...
Аз също не забелязвам никакво забавяне, мисля, че новата ОС е дори по-бърза от преди, но това вероятно е само моята тема. впечатление
Имам 15 GB приложения в моя iPhone, използвам ги и не ги спазвам. Факт е, че имах подобен проблем и дори исках да се върна към 4.0 GM, защото ми работеше по-добре... за съжаление нямам JB и дори нямам запазени SHSH blobs, така че това е невъзможно . Направих възстановяване и всичко започна да работи бързо и красиво ;)
Вече видях някъде споменаване на локални известия, но никъде не намерих опция за това. напр. актуализираният Pocket Informator трябва да ги има, но ... не виждам. По някакъв начин не виждам известия на моя iPhone. Не съм доволен, не са ми достатъчни.
И възможно ли е да се изключи спящо приложение? Като алтернатива, как да излезете от приложение, когато натискането на Начало автоматично го измества на заден план?
Става - задържаш пръста си върху една икона, след което всички започват да треперят и им излиза минус
Според моите наблюдения iOS4 на 3Gs телефон при голямо натоварване превръща един хубав бърз модерен телефон в доста неприятен WM тип смартфон (или PalmOS на стария ми Treo680) - той просто лага, лага, лага. Единственото нещо, което помага, е редовното почистване на работещи приложения, а това наистина не ми харесва и не искам да правя джейлбрейк - сериозно обмислям да се върна към iOS3, но не знам кои приложения са оптимизирани за iOS4 бих го нарекъл в момента. Не знам, сигурно съм дори по-сериозен потребител от автора на статията, но приложенията, които стартират бавно, са неизпускаеми - но аз си вървя нормално - календар, телефон, sms, бележки, неща, 8 страници в safari , геокешинг, снимки, контакти, Библия, iPod и магазин за приложения (3MB безплатна RAM). Аз съм фен на Apple, но IMHO iOS4 просто не е подходящ за по-стари HW (включително 3G).
глупости. Имам 3GS с iOS 4 абсолютно никакъв проблем. iOS 4 е за iOhone 4 и 3GS. Последните просто имат проблем, който може да замръзне (като собственик на 2G го разбирам), но е логично. Или искаме разработка на софтуер и това, разбира се, ще бъде малко "състояние", или искаме хардуерът да е същият и трябва да вземем предвид, че SF няма да се промени твърде много.
IPhone може да се справя добре с многозадачност, но за съжаление някои приложения не го правят. Например COMIC READER MOBI просто ме уведомява сухо, че няма да зареди следващата страница, защото няма достатъчно памет. Обикновено трябва да убия почти всички спящи приложения, преди да започне да работи отново :-( И аз имам 3GS и горното приложение уж е модифицирано за OS4.
опитайте да го подтикнете към поддръжката на приложението, проблемът очевидно е там ;(
Може ли някой да ми обясни къде са зададени локалните известия? Има ли го в Настройки > Известия и трябва ли да го разреша за определени приложения? Иначе не намерих други настройки за известяване (други са само в настройките за събиране на имейли и подозирам, че Push изпраща известието от сървъра) Благодаря!
Приложението трябва да поддържа локални известия, например интересно приложение с локални известия е Notify 2...
Добре, но какво да кажем за Pocket Informator? Би трябвало да може да прави това, но не забелязах никъде разликата между локалните известия и другите. Признавам, че дори не съм го пробвал. Пробват Palringo в премиум версията, в описанието пише нещо за известия (естествено не за локални), но и аз нямам бадж на иконата. Мога да прескоча от приложението на друго място и след това обратно, но когато се върна, влизам отново, което не очаквах. Ако не съм директно в този Palring, никъде няма известие. Всичко е наред? Най-лошото е може би приложението 2Do, което гласи, че известията работят само под WiFi. Доста жалко за списък със задачи, нали. За 7 долара… жалко. :-(
Все още се чувствам по-добре с Backgrounder, отколкото с внедряването на „мултитаскинг“ от Apple. иначе бавене на 3GS не забелязвам дори и на фул фрейм. в началото изключих приложенията през sbsettings по навик, после се отказах и се оправи
Забелязах забавянето на 3GS, не всеки път, но от време на време. Във всеки случай не всички приложения работят правилно, например TV Seznam от Seznam понякога не регистрира преместването към активната услуга и не зарежда актуализации на телевизионни програми, така че рестартирането на приложението ще помогне, което е обратното на първоначалното състояние.
Здравейте общност,
Някой разглеждал ли е жалба за кандидатстване? с iOS4 не ми работи навигацията и 89€ не са никак малко... как става рекламацията?
Проблемът не е в приложението. Опитайте да рестартирате iPhone, ако това не помогне, възстановете целия телефон. Navigon ми работи добре на 3G с iOS4.
Не забелязвам забавянето и на 3GS, но това, което ме притеснява, е презареждането на отворените прозорци на Safari. Ако има достатъчно RAM, съдържанието на вече заредените страници ще бъде запазено.