Сигурно на сите ни е позната лекцијата „мултитаскинг = способност за извршување на неколку процеси истовремено“. Ние го користиме во нашите компјутери без да бидеме особено свесни за неговото присуство. Префрлањето помеѓу апликации или прозорци на една апликација се одвива (за нас) во реално време и ние ја земаме оваа способност на оперативниот систем здраво за готово.
Задачата е различна
Оперативниот систем го распределува процесорот за сите апликации во мали временски интервали. Овие временски периоди се толку мали што не можеме да ги забележиме, па изгледа како сите апликации да го користат процесорот во исто време. Можеби така мислиме мултитаскинг во iOS 4 работи сосема исто. Не е така. Главната причина е секако капацитетот на батеријата. Ако сите апликации навистина беа оставени да работат во позадина, веројатно ќе требаше да бараме штекер за неколку часа.
Повеќето апликации компатибилни со iOS 4 се ставаат во „суспендиран режим“ или се ставаат во мирување по притискање на копчето Home. Аналогија може да биде затворање на капакот на лаптопот, кој веднаш оди во режим на мирување. По отворањето на капакот, лаптопот се буди и сè е во иста состојба како и пред да се затвори капакот. Понатаму, постојат апликации каде што притискањето на копчето Home предизвикува нивно завршување. И под тоа мислиме на вистински раскин. Програмерите имаат избор кој од овие методи да го користат.
Но, постои друга категорија на апликации. Ова се апликациите кои навистина работат во позадина, иако правите нешто сосема друго на вашиот iDevice. Skype е добар пример бидејќи му треба постојана интернет конекција. Други примери може да бидат апликации што репродуцираат музика во заднина (Пандора) или апликации кои бараат постојано користење на GPS. Да, овие апликации ја трошат вашата батерија дури и кога работат во заднина.
Спие или собори?
Одредени апликации компатибилни со iOS 4, кои треба да се стават во мирување (да се стават во „суспендиран режим“) по притискање на копчето Home, продолжуваат да работат во заднина. Apple им даде на програмерите точно десет минути апликацијата да ја заврши својата задача, што и да е. Да речеме дека преземате датотека во GoodReader. Одеднаш некој сака да ви се јави и вие само треба да го прифатите тој важен повик. Повикот не траеше повеќе од десет минути, ќе се вратите во апликацијата GoodReader. Датотеката можеби е веќе преземена или сè уште се презема. Што ако повикот трае повеќе од десет минути? Апликацијата, во нашиот случај GoodReader, ќе мора да ја прекине својата активност и да му каже на iOS дека може да се стави во мирување. Ако не го направи тоа, безмилосно ќе биде прекината од самиот iOS.
Сега ја знаете разликата помеѓу мултитаскингот „мобилен“ и „десктоп“. Додека флуидноста и брзината на префрлување помеѓу апликациите се важни за компјутерот, траењето на батеријата е секогаш најважно за мобилните уреди. Мултитаскингот, исто така, мораше да се прилагоди на овој факт. Затоа, откако ќе ја прочитате оваа статија, ако двапати го притиснете копчето Home, веќе нема да ја гледате „лентата со апликации што работат во позадина“, туку во суштина само „листата на неодамна користени апликации“.
Автор: Даниел ХрушкаИзвор: onemoretap.com
хмм, интересно :) Отсекогаш мислев дека секогаш е слично на тоа како може да се направи на Unix. Дека на апликацијата и е доделено нула време на процесорот и дека процесот само седи во меморијата, сите ресурси се доделени. па морав двапати да притиснам дома и веднаш да ја прекинам апликацијата за да ја избришам. Значи, дали ова значи дека дури и ако има икона за апликација во долниот скриен лист, апликацијата е сè уште затворена одамна (по 10 минути)?
Во долниот список, едноставно се наоѓаат неодамна отворените апликации, при што некои од нив сè уште можат да работат, некои се суспендирани, а некои се целосно прекинати. Рачното отстранување на апликацијата од списокот има „несакан ефект“ што ако се случи да работи (или е суспендирана) ќе биде прекината.
Апликацијата треба да си каже за тие 10 дополнителни минути, а не е гарантирано дека ќе ги добие.
Па, тоа не ми ја ослободи опсесијата да ја затворам апликацијата од списокот (што ако случајно јаде ресурси, нели? :-D)
Моето разбирање е дека 10-те минути се наменети за апликации кои треба да работат во позадина и не спаѓаат во категоријата „скајп, GPS и репродукција на музика“. Другите апликации се префрлаат во суспендиран режим и остануваат во меморијата додека меморијата не е потребна за други работи.
Суспендираниот режим има предност што ако треба да ја убиете апликацијата, нема да ги изгубите нејзините податоци, сè ќе биде зачувано во моментот на префрлување на суспендирано.
или, во случај на пр. репродукција, еквивалент на командата bg / fg
А што е со плеерот или другите апликации што работат во заднина за кое било време? Мислам, дали можам да „изберам“ како програмер или ова мора некако да биде одобрено од Apple?
За да може апликацијата навистина да работи во заднина неограничено време, мора да направи (регистрира) една од следните дејства:
- Користете ги услугите за локација (GPS)
– Пуштете музика во позадина
- Користете VOIP (Глас преку IP)
Според насловот (поглед под хаубата) очекував статијата да содржи нешто поопширно објаснување со технички детали. Ова повеќе личи на перлекс на статијата. Ако е Perex, кога е продолжението? Можете ли да добиете рефундирање? :-)
и што би сакале да знаете подетално?
Од статија со „под капакот“ во насловот, би очекувал детален технички опис (авторот може да анализира, на пример, надземни трошоци при префрлување на апликации или како се постапува со истовремен пристап до системските ресурси), споредба со други модели (на пример, со џеилбрек iPhone). Идеално е да се поддржи со некои мерења. Едноставно, очекував многу повеќе од една статија која има „под хауба“ во насловот отколку овој многу површен опис.
Дали има некој icq клиент што работи континуирано во позадина како skype и не ја испушта врската?
апликацијата има 10 секунди за да влезе во режим на суспендирање, а не 10 минути... и за време на овој процес, некои делови може или не може да „висат“ на услугите за backend, од кои некои се веќе наведени погоре - тоа е она што Apple го нарекува „паметно“ „мултитаскинг.... тогаш системот ја собори
Апликацијата може да бара дополнително време ако нешто се презема, се поставува или обработува. Тоа нема никаква врска со GPS, VoIP или пуштање музика, кои работат во минималистички режим неограничено време.