Funga tangazo

Bado kuna watu wengi ambao hawajui jinsi multitasking inavyofanya kazi katika iOS. Kuanza, hata hivyo, ni muhimu kusema kwamba hii sio kazi nyingi za kweli, lakini suluhisho la busara sana ambalo halilemei mfumo au mtumiaji.

Mara nyingi mtu anaweza kusikia ushirikina kwamba programu zinazoendesha chinichini katika iOS hujaza kumbukumbu ya uendeshaji, ambayo husababisha kupungua kwa mfumo na kupunguza muda wa matumizi ya betri, hivyo mtumiaji anapaswa kuzizima yeye mwenyewe. Upau wa kufanya kazi nyingi kwa kweli hauna orodha ya michakato yote ya usuli inayoendeshwa, lakini ni programu tumizi zilizozinduliwa hivi majuzi. Kwa hivyo mtumiaji hana haja ya kuwa na wasiwasi kuhusu michakato inayoendeshwa chinichini isipokuwa katika hali chache. Unapobonyeza kitufe cha Nyumbani, programu kawaida huenda kulala au kufunga, ili isipakie tena kichakataji au betri na, ikiwa ni lazima, hufungua kumbukumbu muhimu.

Huu si kazi nyingi kamili wakati una michakato mingi inayoendeshwa. Programu moja tu ndiyo inayofanya kazi katika sehemu ya mbele kila wakati, ambayo husitishwa au kuzimwa kabisa ikihitajika. Ni michakato michache tu ya upili inayoendeshwa chinichini. Ndio maana ni mara chache sana utakutana na hitilafu ya programu kwenye iOS, kwa mfano Android inazidiwa na uendeshaji wa programu ambazo mtumiaji anapaswa kutunza. Kwa upande mmoja, hii inafanya kufanya kazi na kifaa kuwa mbaya, na kwa upande mwingine, husababisha, kwa mfano, kuanza polepole na mabadiliko kati ya programu.

Aina ya wakati wa utekelezaji wa programu

Programu kwenye kifaa chako cha iOS iko katika mojawapo ya majimbo haya 5:

  • Kimbia: programu imeanzishwa na kuendeshwa mbele
  • Mandharinyuma: bado inaendelea lakini inaendesha nyuma (tunaweza kutumia programu zingine)
  • Imesimamishwa: Bado unatumia RAM lakini haifanyi kazi
  • Isiyotumika: programu inaendesha lakini amri zisizo za moja kwa moja (kwa mfano, unapofunga kifaa na programu inayoendesha)
  • Sio kukimbia: Programu imekatishwa au haijaanza

Kuchanganyikiwa huja wakati programu inaingia chinichini ili isisumbue. Unapobonyeza kitufe cha Nyumbani au utumie ishara kufunga programu (iPad), programu huenda chinichini. Programu nyingi husimamishwa ndani ya sekunde (Zinahifadhiwa kwenye RAM ya iDevice ili ziweze kuzinduliwa haraka, hazipakii kichakataji sana na hivyo kuokoa maisha ya betri) Unaweza kufikiria kuwa programu ikiendelea kutumia kumbukumbu, unayo. ili kuifuta mwenyewe ili kuifungua. Lakini sio lazima ufanye hivyo, kwa sababu iOS itakufanyia. Ikiwa una programu inayohitaji kutekelezwa chinichini, kama vile mchezo unaotumia kiasi kikubwa cha RAM, iOS itaiondoa kiotomatiki kwenye kumbukumbu inapohitajika, na unaweza kuianzisha upya kwa kugonga aikoni ya programu.

Hakuna hali yoyote kati ya hizi inayoonyeshwa kwenye upau wa kufanya kazi nyingi, kidirisha kinaonyesha tu orodha ya programu zilizozinduliwa hivi majuzi bila kujali ikiwa programu imesimamishwa, kusimamishwa au kufanya kazi chinichini. Unaweza pia kutambua kwamba programu ambayo inaendeshwa kwa sasa haionekani kwenye paneli ya Multitasking

Kazi za usuli

Kwa kawaida, unapobonyeza kitufe cha Nyumbani, programu itaendesha chinichini, na ikiwa hutumii, itasitishwa kiatomati ndani ya sekunde tano. Kwa hivyo ikiwa unapakua podikasti, kwa mfano, mfumo huitathmini kama programu inayoendeshwa na kuchelewesha kusitisha kwa dakika kumi. Baada ya dakika kumi hivi karibuni, mchakato hutolewa kutoka kwa kumbukumbu. Kwa kifupi, huna haja ya kuwa na wasiwasi kuhusu kukatiza upakuaji wako kwa kubofya Kitufe cha Nyumbani, ikiwa haitachukua zaidi ya dakika 10 kukamilika.

Inaendeshwa kwa muda usiojulikana chinichini

Katika hali ya kutofanya kazi, mfumo husitisha programu ndani ya sekunde tano, na katika kesi ya upakuaji, uondoaji unachelewa kwa dakika kumi. Hata hivyo, kuna idadi ndogo ya programu zinazohitaji kukimbia chinichini. Hii ni baadhi ya mifano ya programu zinazoweza kufanya kazi chinichini kwa muda usiojulikana katika iOS 5:

  • Programu zinazocheza sauti na lazima zikatishwe kwa muda (kusitisha muziki wakati wa simu, n.k.),
  • Programu zinazofuatilia eneo lako (programu ya urambazaji),
  • Programu zinazopokea simu za VoIP, kwa mfano ikiwa unatumia Skype, unaweza kupokea simu hata wakati programu iko nyuma,
  • Vipakuliwa otomatiki (km Rafu ya Google Play).

Programu zote zinapaswa kufungwa ikiwa hazifanyi kazi tena (kama vile upakuaji wa chinichini). Hata hivyo, kuna vighairi ambavyo huendeshwa chinichini mfululizo, kama vile programu asili ya Barua pepe. Ikiwa zinafanya kazi chinichini, zinachukua kumbukumbu, matumizi ya CPU au kupunguza muda wa matumizi ya betri

Programu zinazoruhusiwa kuendeshwa chinichini kwa muda usiojulikana zinaweza kufanya chochote zinapoendeshwa, kuanzia kucheza muziki hadi kupakua vipindi vipya vya Podcast.

Kama nilivyosema hapo awali, mtumiaji hahitaji kamwe kufunga programu zinazoendesha nyuma. Isipokuwa kwa hili ni wakati programu inayoendesha chinichini inapoacha kufanya kazi au haiamki kutoka usingizini ipasavyo. Kisha mtumiaji anaweza kufunga programu mwenyewe kwenye upau wa kufanya kazi nyingi, lakini hii hutokea mara chache.

Kwa hivyo, kwa ujumla, hauitaji kudhibiti michakato ya nyuma kwa sababu mfumo utawashughulikia wenyewe. Ndio maana iOS ni mfumo mpya na wa haraka sana.

Kutoka kwa mtazamo wa msanidi programu

Programu inaweza kujibu kwa jumla ya majimbo sita tofauti kama sehemu ya shughuli nyingi:

1. maombiWillResignActive

Katika tafsiri, hali hii inamaanisha kuwa programu itajiuzulu kama programu inayotumika (yaani, programu iliyo mbele) katika siku zijazo (suala la milisekunde chache). Hii hutokea, kwa mfano, wakati wa kupokea simu wakati wa kutumia programu, lakini wakati huo huo, njia hii pia husababisha hali hii kabla ya maombi kwenda nyuma, kwa hiyo unahitaji kuzingatia mabadiliko haya. Njia hii pia inafaa ili, kwa mfano, inasimamisha shughuli zote zinazofanya wakati kuna simu inayoingia na kusubiri hadi mwisho wa simu.

2. applicationDidEnterBackground

Hali inaonyesha kuwa programu imeenda nyuma. Wasanidi programu wanapaswa kutumia njia hii kusimamisha michakato yote ambayo haihitaji kuendeshwa chinichini na kufuta kumbukumbu ya data ambayo haijatumiwa na michakato mingine, kama vile vipima muda vinavyoisha muda wake, kufuta picha zilizopakiwa kwenye kumbukumbu ambazo hazitahitajika au kufunga. miunganisho na seva, isipokuwa ni muhimu kwa programu kukamilisha miunganisho chinichini. Wakati mbinu inatumiwa katika programu, inapaswa kutumiwa kusimamisha kabisa programu ikiwa sehemu yake haihitajiki kuendeshwa chinichini.

3. applicationWillEnterForeground

Hali hii ni kinyume cha hali ya kwanza, ambapo maombi yatajiuzulu kwa hali ya kazi. Hali hii inamaanisha kuwa programu ya kulala itaanza tena kutoka chinichini na kuonekana mbele ndani ya milisekunde chache zijazo. wasanidi wanapaswa kutumia njia hii ili kurudisha michakato yoyote ambayo haikufanya kazi wakati programu ilikuwa chinichini. Miunganisho kwenye seva inapaswa kuanzishwa upya, vipima muda viweke upya, picha na data zipakiwe kwenye kumbukumbu, na michakato mingine muhimu inaweza kuendelea kabla tu ya mtumiaji kuona programu iliyopakiwa tena.

4. maombiDidBecomeActive

Hali inaonyesha kuwa programu imeanza kutumika baada ya kurejeshwa kwa mandhari ya mbele. Hii ni njia inayoweza kutumika kufanya marekebisho ya ziada kwenye kiolesura cha mtumiaji au kurejesha UI katika hali yake ya asili, n.k. Hii hutokea wakati mtumiaji tayari anaona programu kwenye onyesho, kwa hivyo ni muhimu amua kwa uangalifu kile kinachotokea kwa njia ya hii na kwa njia ya hapo awali. Wanaitwa moja baada ya nyingine na tofauti ya milliseconds chache.

5. maombi yatakomesha

Hali hii hutokea milisekunde chache kabla ya programu kuondoka, yaani, kabla ya programu kusitishwa. Wewe mwenyewe kutokana na kufanya kazi nyingi au unapozima kifaa. Mbinu inapaswa kutumika kuhifadhi data iliyochakatwa, kukomesha shughuli zote na kufuta data ambayo haitahitajika tena.

6. maombiDidReceiveMemoryWarning

Ni hali ya mwisho ambayo inajadiliwa zaidi. Inawajibika kwa, ikiwa ni lazima, kuondoa programu kutoka kwa kumbukumbu ya iOS ikiwa inatumia rasilimali za mfumo bila ya lazima. Sijui hasa iOS hufanya nini na programu za chinichini, lakini ikiwa inahitaji programu kutoa rasilimali kwa michakato mingine, inaihimiza kwa onyo la kumbukumbu ili kutoa rasilimali yoyote iliyo nayo. Kwa hivyo njia hii inaitwa katika maombi. Watengenezaji wanapaswa kuitekeleza ili programu itoe kumbukumbu ambayo imetenga, kuokoa kila kitu kinachoendelea, kufuta data isiyo ya lazima kutoka kwa kumbukumbu, na vinginevyo kuachilia kumbukumbu vya kutosha. Ni kweli kwamba wasanidi programu wengi, hata wanaoanza, hawafikirii au kuelewa mambo kama haya, na kisha inaweza kutokea kwamba programu yao inatishia maisha ya betri na/au hutumia rasilimali za mfumo isivyofaa, hata chinichini.

Uamuzi

Majimbo haya sita na mbinu zao zinazohusiana ni usuli wa "multitasking" katika iOS. ni mfumo mzuri, mradi watengenezaji hawapuuzi ukweli kwamba kuna haja ya kuwajibika kuhusu kile ambacho programu hutoa kwenye vifaa vya watumiaji wao, ikiwa vimepunguzwa au kupata maonyo kutoka kwa mfumo na kadhalika.

Zdroj: Macworld.com

Waandishi: Jakub Požárek, Martin Doubek (ArnieX)

 
Je, wewe pia una tatizo la kutatua? Je, unahitaji ushauri au labda kupata maombi sahihi? Usisite kuwasiliana nasi kupitia fomu katika sehemu hiyo Ushauri, wakati ujao tutajibu swali lako.

.