Затвори оглас

Још увек има много људи који не знају како мултитаскинг функционише у иОС-у. За почетак, међутим, потребно је истаћи да ово није прави мултитаскинг, већ веома паметно решење које не оптерећује ни систем ни корисника.

Често се могу чути сујеверја да апликације које раде у позадини у иОС-у пуне оперативну меморију, што доводи до успоравања система и трајања батерије, па их корисник треба ручно искључити. Трака за више задатака заправо не садржи листу свих покренутих позадинских процеса, већ само најновије покренуте апликације. Дакле, корисник не мора да брине о процесима који се покрећу у позадини осим у неколико случајева. Када притиснете дугме Хоме, апликација обично иде у стање мировања или се затвара, тако да више не оптерећује процесор или батерију и по потреби ослобађа потребну меморију.

Дакле, ово није потпуни мултитаскинг када имате десетине покренутих процеса.Само једна апликација увек ради у првом плану, која се паузира или потпуно искључује ако је потребно. Само неколико секундарних процеса ради у позадини. Због тога ћете ретко наићи на пад апликације на иОС-у, на пример Андроид је претрпан покренутим апликацијама о којима корисник мора да се брине. С једне стране, то чини рад са уређајем непријатним, а са друге стране узрокује, на пример, споро покретање и прелазе између апликација.

Тип времена извршавања апликације

Апликација на вашем иОС уређају је у једном од ових 5 стања:

  • Трчање: апликација се покреће и ради у првом плану
  • Позадина: још увек ради, али ради у позадини (можемо користити друге апликације)
  • Суспендовано: Још увек користите РАМ, али не ради
  • Неактивно: апликација је покренута, али индиректне команде (на пример, када закључате уређај док је апликација покренута)
  • Не ради: Апликација је прекинута или није покренута

До забуне долази када апликација пређе у позадину како не би сметала. Када притиснете дугме Почетна или употребите покрет да затворите апликацију (иПад), апликација прелази у позадину. Већина апликација је суспендована у року од неколико секунди (Складиштене су у РАМ-у иДевицеа тако да се могу брзо покренути, не оптерећују процесор толико и тиме штеде век батерије) Можда мислите да ако апликација настави да користи меморију, имате да га ручно избришете да бисте га ослободили. Али не морате то да радите, јер ће иОС то учинити уместо вас. Ако имате захтевну апликацију суспендовану у позадини, као што је игра која користи велику количину РАМ-а, иОС ће је аутоматски уклонити из меморије када је то потребно, а можете је поново покренути додиром на икону апликације.

Ниједно од ових стања се не одражава на траци за више задатака, панел приказује само листу недавно покренутих апликација без обзира да ли је апликација заустављена, паузирана или ради у позадини. Такође можете приметити да се апликација која је тренутно покренута не појављује на панелу за више задатака

Позадински задаци

Обично, када притиснете дугме Хоме, апликација ће радити у позадини, а ако је не користите, аутоматски ће се паузирати у року од пет секунди. Дакле, ако преузимате подкаст, на пример, систем га оцењује као покренуту апликацију и одлаже завршетак за десет минута. Најкасније након десет минута, процес се ослобађа из меморије. Укратко, не морате да бринете о прекиду преузимања притиском на дугме Хоме, ако вам није потребно више од 10 минута да се заврши.

Неограничено трчање у позадини

У случају неактивности, систем укида апликацију у року од пет секунди, а у случају преузимања, прекид се одлаже десет минута. Међутим, постоји мали број апликација које захтевају рад у позадини. Ево неколико примера апликација које могу да раде у позадини неограничено у иОС-у 5:

  • Апликације које пуштају звук и морају бити прекинуте на неко време (паузирање музике током телефонског позива, итд.),
  • апликације које прате вашу локацију (софтвер за навигацију),
  • Апликације које примају ВоИП позиве, на пример ако користите Скипе, можете да примите позив чак и када је апликација у позадини,
  • Аутоматска преузимања (нпр. Киоск).

Све апликације треба затворити ако више не обављају задатак (као што су преузимања у позадини). Међутим, постоје изузеци који непрекидно раде у позадини, као што је изворна апликација Маил. Ако раде у позадини, заузимају меморију, ЦПУ или смањују век трајања батерије

Апликације којима је дозвољено да раде у позадини неограничено могу да раде све што раде док раде, од пуштања музике до преузимања нових епизода Подцаста.

Као што сам раније поменуо, корисник никада не мора да затвара апликације које раде у позадини. Једини изузетак је када се апликација која ради у позадини руши или се не пробуди из стања спавања како треба. Корисник затим може ручно да затвори апликације у траци за више задатака, али то се ретко дешава.

Дакле, генерално, не морате да управљате процесима у позадини јер ће се систем сам побринути за њих. Зато је иОС тако свеж и брз систем.

Из перспективе програмера

Апликација може да реагује са укупно шест различитих стања као део мултитаскинга:

1. апплицатионВиллРесигнАцтиве

У преводу, ово стање значи да ће апликација одустати као активна апликација (тј. апликација у првом плану) у будућности (у питању је неколико милисекунди). Ово се дешава, на пример, када примите позив док користите апликацију, али у исто време, овај метод такође изазива ово стање пре него што апликација пређе у позадину, тако да морате да узмете у обзир ове промене. Овај метод је такође погодан тако да, на пример, суспендује све активности које обавља када дође до долазног позива и чека до краја позива.

2. апплицатионДидЕнтерБацкгроунд

Статус показује да је апликација отишла у позадину. Програмери би требало да користе овај метод да суспендују све процесе који не морају нужно да се покрећу у позадини и обришу меморију неискоришћених података и других процеса, као што су тајмери ​​истека, брисање учитаних слика из меморије које неће нужно бити потребне или затварање везе са серверима, осим ако је критично за апликацију да доврши везе у позадини. Када се метода позове у апликацији, у суштини би требало да се користи за потпуно суспендовање апликације ако неки њен део није потребан да ради у позадини.

3. апплицатионВиллЕнтерФорегроунд

Ово стање је супротно од првог стања, где ће апликација прећи у активно стање. Стање једноставно значи да ће се апликација за спавање поново покренути из позадине и појавити се у првом плану у наредних неколико милисекунди. програмери би требало да користе овај метод да наставе са свим процесима који су били неактивни док је апликација била у позадини. Везе са серверима треба поново да се успоставе, тајмери ​​ресетују, слике и подаци учитавају у меморију, а други неопходни процеси могу да се наставе непосредно пре него што корисник поново види учитану апликацију.

4. апплицатионДидБецомеАцтиве

Стање указује да је апликација управо постала активна након што је враћена у први план. Ово је метод који се може користити за додатна подешавања корисничког интерфејса или за враћање корисничког интерфејса у првобитно стање итд. То се заправо дешава у тренутку када корисник већ види апликацију на екрану, па је потребно са опрезом утврдити шта се дешава у методи ове и претходне методе. Позивају се један за другим са разликом од неколико милисекунди.

5. апплицатионВиллТерминате

Ово стање се дешава неколико милисекунди пре него што апликација изађе, односно пре него што се апликација заиста заврши. Или ручно из мултитаскинга или када искључите уређај. Метод треба користити за чување обрађених података, за окончање свих активности и за брисање података који више неће бити потребни.

6. апплицатионДидРецеивеМемориВарнинг

То је последња држава о којој се највише разговара. Он је одговоран за, ако је потребно, уклањање апликације из иОС меморије ако непотребно користи системске ресурсе. Не знам конкретно шта иОС ради са позадинским апликацијама, али ако му је потребна апликација за ослобађање ресурса другим процесима, тражи од њега да ослободи све ресурсе које има уз меморијско упозорење. Дакле, овај метод се позива у апликацији. Програмери би требало да га имплементирају тако да се апликација одрекне меморије коју је доделила, сачува све што је у току, избрише непотребне податке из меморије и на други начин адекватно ослободи меморију. Истина је да многи програмери, чак и почетници, не размишљају и не разумеју такве ствари, па се онда може десити да њихова апликација угрози трајање батерије и/или непотребно троше системске ресурсе, чак и у позадини.

Пресуда

Ових шест стања и њихове придружене методе су позадина свих "мултитаскинг" у иОС-у. то је одличан систем, све док програмери не занемарују чињеницу да постоји потреба да буду одговорни за оно што апликација шаље на уређаје њихових корисника, ако су минимизирани или добијају упозорења од система и тако даље.

Извор: Мацворлд.цом

Аутори: Јакуб Пожарек, Мартин Доубек (АрниеКс)

 
Да ли и ви имате проблем за решавање? Да ли вам је потребан савет или можда пронађете праву апликацију? Не устручавајте се да нас контактирате путем обрасца у одељку Саветовање, следећи пут ћемо одговорити на ваше питање.

.