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.
Hujambo, nakala nzuri sana, lakini nashangaa ikiwa una usaidizi wowote wa kiufundi kwa hilo. Kwa sababu nimetatua betri mara kadhaa jioni kabla ya kwenda kulala na ikawa kwamba kwa wifi na data ya simu imezimwa, ilichukua zaidi kuliko katika kesi nyingine na wifi imezimwa na 3G tu.
Kwa bahati mbaya, uzoefu ni kwamba katika iOS, programu zinapaswa kuzimwa kwa mikono, na mfumo haufanyi kazi tena kama hapo awali.
Nilibadilisha iPhone yangu na Simu ya Windows (Samsung Omnia W kwa 6200,-) na kasi ya mfumo iko kwenye kiwango tofauti kabisa.
Ninaogopa kwamba wakati vidonge vya Windows 8 Metro vitatoka, pia nitabadilisha iPad ...
@007 - ndio, ikiwa unalinganisha iPhone3G za zamani na zile mpya za WP, basi ndio (nani angetarajia hilo?) WP itakuwa haraka sana. Vinginevyo, uvumi kuhusu Karlulka hauendi vizuri na wewe na ilikuwa sahihi kulinganisha HW ya sasa. Pia nilinunua WP7 na hatimaye nikaishia na 4s, ambayo inawakilisha kiwango tofauti kabisa cha utumiaji kuliko WP7. Kwa hivyo pitia kwa kupendeza na bila mwisho tembeza vigae.
Nakubaliana kabisa na Paja
Ningechangia tena kutoka kwa uchafu wa pipa lingine - Samsung Galaxy S na iPhone 4 - ningesema kulinganishwa kwa suala la umri? Wakati wa iOS 4, na kwa suala la usability na kasi mahali pengine isipokuwa Android, Apple imetatua dhana ya kufanya kazi na maombi vizuri sana, lakini hiyo si kweli tena na Android. Mwishowe, niliishia na 4S hata hivyo na sina malalamiko, kwa sababu "inafanya kazi tu" .. na inafanya kazi haraka sana!
Nadharia ni nzuri ... Lakini kwa mazoezi, bado ninafunga programu kwenye bar;)
Asante, ya kuvutia sana, ya kisayansi, ya kuvutia, haikosi swing na kina. Inasisitiza kwa kiasi kikubwa shauku ya vijana wa leo na chapa hii iliyokatazwa! Lakini asante kwa ajili yake, na pia kwa makala hii.
Nakala hiyo sio sahihi kabisa.
Programu haizimiki wakati kitufe cha Mwanzo kimebonyezwa, kama ilivyosemwa kimakosa, lakini husitishwa. I.e. hakika usifute kwenye kumbukumbu na usiache. Sitisha tu kukimbia, iOS itaipa programu hii 0% wakati wa CPU. Hakika "haibadilishi" mahali popote kwenye kumbukumbu ya iDevice, kama ilivyoonyeshwa kwenye kifungu. Kwa kweli ni shukrani kwa ukweli kwamba inawezekana kutumia ubadilishaji wa programu.
Programu huondolewa kwenye kumbukumbu wakati simu ina kumbukumbu kidogo ya kuendesha programu zingine kwa kipaumbele cha juu (kwa kawaida programu nyingine inafanya kazi mbele).
Katika kisa cha kwanza, uko sahihi, ilikuwa ni hitilafu ya utafsiri. Kuhusu kubadilishana, hatuzungumzii hilo hapa, tunazungumza juu ya kumbukumbu ya uendeshaji, sio nafasi ya kuhifadhi kwenye kifaa cha iOS.
picha ya programu huhifadhiwa kwenye kumbukumbu kwa muda mdogo hadi iitwe tena kwa amri (angalia GB 13,7 kati ya GB 16: GB 2,3 imehifadhiwa kwa mfumo na programu zilizosimamishwa)
Kwa hivyo, ni muhimu kutofautisha kati ya programu kama vile Urambazaji, Skype na kadhalika, programu hizi zinabaki kazi hata nyuma, au kazi fulani haimalizi na inaendelea, kwa mfano, kutuma data kuhusu eneo lake au habari ya eneo. Au kama Vokul katika hali ya pord sikiliza na kufanya shughuli nyingi bado kunasikiza chinichini.
Programu hizi huondoa betri na ni muhimu kuzifunga kwa mikono na si kusubiri iOS. na wengine sio lazima, pale tu ikiwa programu itaanguka.
Siwezi kukubaliana na makala. Dak. kwenye iPad ya kizazi cha 1 (iOS 5.0.1) ni wazi kuona ikiwa nina programu nyingi "wazi" kwenye upau wa multitasking au chache tu. iOS hujaribu kusafisha kumbukumbu, lakini ni wazi haitoshi - saizi ndogo ya RAM labda ni udhaifu wake mkubwa.
kwa hivyo mengi inategemea mfumo na vifaa vinavyotumiwa, ni busara kabisa kuwa itakuwa mbaya zaidi kwenye iPad 1 na iOS 5.0.1 kuliko ikiwa kwenye iPad ya kizazi cha 2.
Pole mwenzangu, haya ni maelezo ya njia IDEAL inapaswa kufanya kazi. Kwa bahati mbaya, ukweli ni tofauti kabisa na ungeijua ikiwa ungetumia bidhaa za Apple, angalau kama mimi (yaani mara kwa mara).
"Mara nyingi unaweza kusikia ushirikina kwamba programu zinazoendesha chinichini kwenye iOS hujaza kumbukumbu ya uendeshaji,"
Sio ushirikina, ni ukweli tu. Baada ya yote, unadai mwenyewe katika makala.
"Kama nilivyotaja hapo awali, mtumiaji hahitaji kamwe kufunga programu zinazoendeshwa chinichini."
UPUUZI. Huo ni upuuzi tu, propaganda za tufaha, usinikasirikie.
"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.
Si ukweli. Hali ni tofauti kidogo. Mfano wa kawaida - Nina programu zinazohitajika zinazoendeshwa chinichini, ninahitaji michezo. Ninazindua kivinjari, fungua tabo kadhaa -> zinahitaji kumbukumbu zaidi. Nini kitatokea? Ninaendelea kudai maombi chinichini, kinyume chake, KIPAJI CHENYEWE HUANGUKA. Ikiwa nitafunga programu zinazohitajika kwa mikono, kivinjari hufanya kazi kwa muda mrefu bila matatizo yoyote.
Hii ni mazoezi, sio nadharia. Na ninashangaa kuwa, kama mtumiaji wa muda mrefu wa bidhaa ya Apple, bado hujui hili.
Asante, hii imeelezewa vizuri na imeelezewa vizuri. Umenisaidia kidogo ;-) ♥
Kuanza tu, sipingani na iOS, kama vile Android, lakini kuna mambo machache ya kushangaza hapa, ikiwa kama ilivyoandikwa hapa: "hukutana na ajali ya programu kwenye iOS mara chache" kisha kwenye programu za Android huanguka. mara moja kwa mwaka: -P
http://dotekomanie.blog.mobilmania.cz/2012/02/stabilita-ios-vs-android/
Ndio, lakini kesi wakati unahitaji kufunga programu kwa mikono ni ndogo sana, niliitumia karibu mara moja? ;-) na kutoa kiunga cha jaribio la kulinganisha kutoka Mobilemania haina maana kabisa, ninapotaka kusoma kuhusu utangazaji ambao Google ililipa, nitaangalia hapo ;-) kila mtu anaweza kupata simu yoyote ya android mkononi mwake na haitafanya kazi vizuri, yaani, isipokuwa Galaxy Nexus, ambayo ni mfumo ambao umeundwa mahususi zaidi au kidogo. Kwa ujumla, android ni janga
@Mek - Nimekuwa nikitumia bidhaa za Apple kila siku kwa miaka kadhaa na hii haijawahi kunitokea, kwa hivyo nadharia yako haifanyi kazi.
Swali:
@redakce - Inaweza kuonekana kuwa tovuti inafanyiwa kazi kila mara au kuna kitu kinafanyika kwayo, lakini nina hisia kwamba haichukui wiki kwa kila kitu kufanya kazi inavyopaswa. Na kwa kweli siji tena hapa, kwa sababu sura mpya hainifai. Angalau nilitumia toleo la simu kwenye iPhone, lakini sasa haifanyi kazi kabisa - jinsi gani? Kwa sasa hawajibu machapisho kwenye maoni.
@SteveJSF Kwa bahati mbaya, mambo huwa hayaendi jinsi tunavyotaka. Kuhusu majibu, programu-jalizi mpya ya SEO iliwavunja, kwa sasa inatatuliwa.
WP-Touch pia ilisitisha huduma yetu kwa sababu fulani, kwa hivyo tuliamua kuja na suluhisho bora kuliko programu-jalizi hii. Kwa hivyo unaweza kutazamia habari inayofuata hivi karibuni :-)
Makala nzuri. Kuhusu mazoezi, ningependa kusema kwamba ninakubaliana na mambo kadhaa na wakati mwingi hufanya kazi kama ilivyoonyeshwa, lakini kwa bahati mbaya bado kuna programu zilizoandikwa vibaya ambazo hazifanyi kazi ipasavyo, halafu kuna kesi kama ile. alibainisha na baadhi ya wasomaji. Nadhani Skype ni mfano mzuri sana, najua kutoka kwa mazoezi kuwa bado inaendesha nyuma (na hiyo ni sawa na ndivyo inavyopaswa kuwa), lakini shida ni kwamba programu tumizi hii inafuta betri ya kifaa sana na Siwezi kuiona vizuri tena. Kinyume chake, programu kama vile Facebook, Badoo, nk. pia bado wanaendesha nyuma, lakini matumizi yao ni karibu kutoonekana (angalau sioni yoyote). Kwa hivyo nadhani kosa liko kwenye programu za mtu binafsi. Ikiwa ungejua ni zipi, ingetosha kuzima kwa mikono tu hizo!
Kwa hivyo mazoezi ni kwamba Facebook huendesha inavyohitajika na Skype tu inapohitajika.
Kweli, kwa upande mwingine, ikiwa ninahitaji kuokoa betri na najua lazima niweke iPhone "hai" kwa muda mrefu iwezekanavyo, pia ninazima kila kitu kisichohitajika katika kufanya kazi nyingi, lakini mara nyingi haina athari kubwa, lakini ikibidi ninaweka kikomo cha 3G, mtandao wote wa simu, WiFi, huduma za eneo , hali ya ndege, nguvu ya mwanga, n.k. Kama sehemu ya utaratibu, mimi huzima pia programu zilizotajwa katika kufanya kazi nyingi.
Kwa hiyo binafsi nadhani kwamba makala hiyo ni ya kweli, kwa bahati mbaya baadhi ya waandaaji wa programu wanakataa mambo haya na maombi yao, kwa sababu maombi yao si sahihi na kwa maoni yangu kuna ufumbuzi mbili tu kwa hii 1. Ikiwezekana kutotumia programu na kupata mbadala ikiwezekana, au 2. Ikiwa haiwezekani, angalia k.m. Skype, iandike kwa programu uliyopewa kwenye ripoti na utumaini kwamba watafanya jambo kuihusu.
Inaweza kuwa haina maana kuzima programu kwa mikono, lakini ninaifanya hata hivyo. Nilijaribu pia kuzima mfumo wa maombi, waache kukimbia (au kuwaacha wamelala nyuma) na maisha ya betri yalikuwa ya chini sana, ilikuwa ni lazima pia kuanzisha upya iPad 2 baada ya wiki tatu, ilijibu polepole. Kwa hivyo mimi huzima programu kwa mikono, betri hudumu kwa muda mrefu, hivi majuzi niliwasha upya Siku ya Krismasi na inaendelea vizuri.
Kwa njia, mimi hufanya vivyo hivyo kwenye Mac OS X, ninafunga tu programu ambayo siitaji (CMD + Q), ni bora kuliko kuilaza nyuma na kula RAM bila lazima (ambayo OS X inaweza '. sifanyi kazi vizuri sana). Nina RAM kidogo, GB 8 tu, lakini katika Windows 7 iliyo na 8 GB, mfumo haukujibu polepole au kubadilishana, katika OS X hii ni jambo la kawaida (sijawahi kuzima kompyuta, ninaifanya na Mac pia, kwa hivyo muda wa mwezi na zaidi sio ubaguzi, shida ni kwamba wakati mwingine lazima nianze tena Mac kama tahadhari ya kufungia RAM na "kuharakisha", Windows 7 haitaji hii).
Ninavutiwa zaidi na jinsi ya kulipua programu. Kilichotokea kwangu ni kwamba programu (haswa kwenye Geocaching) iliingia katika hali ambayo ilikuwa ikipakia kitu kutoka kwa seva ya mzazi na ikakwama katika hali hiyo. Kitufe cha nyumbani kilifanya kazi, baada ya kuwasha tena ilirudi kwenye hali ya waliohifadhiwa (ambapo niliacha). Toka kwa mikono (kwenye menyu ya ladha nyingi, shikilia ikoni na uondoe ili kufunga) = programu ilipotea, baada ya kuwasha upya ilifunguliwa katika hali yake ya asili ambapo iliganda. Kwa hiyo nilifunga kila kitu, nikazima simu, nikaiwasha, nikabofya mara mbili HOME na tazama - programu zote zilikuwa pale kama zilivyokuwa kabla hazijafungwa kabla tu ya kuzima. Kuanzisha upya hakukusaidia pia - shikilia nyumbani na juu hadi iwe moto. Kitu pekee kilichosaidia ni kuondoa programu kutoka kwa simu, kuiwasha tena, na kuiweka tena kwenye simu. Kwa namna fulani sikuichukua.
Usimamizi huu wa Multitasking hufanya kazi na ni juu ya wasanidi kukabiliana na hali hizi. Kwa wale wanaopenda maelezo ya kina na ya kitaaluma ya hali nzima, nitaandika hapa jinsi ilivyo.
Maombi yanaweza kujibu jumla ya majimbo 6 na majimbo haya ni:
applicationWillResignActive
applicationDidEnterBackground
applicationWillEnterForeground
applicationDidBecomeActive
maombiItakomesha
applicationDidReceiveMemoryWarning
Sasa nitajaribu kuelezea majimbo haya kwa undani zaidi.
applicationWillResignActive - hali hii inamaanisha kuwa katika siku zijazo (jambo la milisekunde chache) programu itajiuzulu kama programu amilifu (yaani, programu ya mbele) hii hutokea kwa mfano wakati wa kupokea simu ukitumia programu, lakini wakati huo huo. njia kwa hivyo hali hii itasababisha hata kabla ya programu kwenda chinichini, kwa hivyo 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.
applicationDidEnterBackground - hali hii inaonyesha kuwa programu imeingia chinichini, watengenezaji wanapaswa kutumia njia hii kusimamisha michakato yote ambayo haihitaji kufanya kazi chinichini na kumbukumbu safi ya data ambayo haijatumiwa na michakato mingine, kwa mfano, vipima muda vinavyoisha, wazi kutoka. picha zilizopakiwa kwenye kumbukumbu ambazo hazitahitajika au kusitisha muunganisho na seva ikiwa si muhimu kwa programu kukamilisha muunganisho chinichini. Kimsingi, njia hii inapoitwa kwenye programu inapaswa kutumika kusimamisha kabisa programu ikiwa sehemu yake haihitajiki kuendeshwa nyuma.
applicationWillEnterForeground - hali hii ni kinyume cha hali ya kwanza wakati maombi yatajiuzulu kwa hali amilifu. Hali hii ya programu inamaanisha kuwa katika milisekunde chache zinazofuata programu ya kulala itaanza tena kutoka chinichini na kuonekana katika sehemu ya mbele (programu inaingia kwenye sehemu ya mbele), njia hii inapaswa kutumiwa na wasanidi programu ili kuendelea na michakato yoyote ambayo haikuwa inatumika wakati programu haitumiki. chinichini, miunganisho kwa seva inapaswa kuanzishwa upya, vipima muda viweke upya, picha na data kupakiwa kwenye kumbukumbu, na michakato mingine muhimu inaweza kuendelea kabla tu ya mtumiaji kuona programu iliyopakiwa tena.
applicationDidBecomeActive - hali hii inaonyesha kuwa programu imeanza kutumika baada ya kurejeshwa kwa sehemu 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. njia hii hutokea. wakati mtumiaji tayari anaweza kuona kwenye maonyesho, kwa hiyo ni muhimu kuamua kutoka kwa usawa kile kinachotokea kwa njia hii na kwa njia ya awali. Wanaitwa moja baada ya nyingine na tofauti ya milliseconds chache.
applicationWillTerminate - hali hii hutokea milisekunde chache kabla ya programu kukomesha, yaani, kabla ya programu kuisha. Wewe mwenyewe kutokana na kufanya kazi nyingi au unapozima kifaa. Mbinu hii inapaswa kutumiwa kuhifadhi data iliyochakatwa na kukomesha shughuli zote na kufuta data ambayo haitahitajika tena.
applicationDidReceiveMemoryWarning - na hii ni hali ambayo inajadiliwa sana hapa, ikiwa ni lazima, iOS itaondoa programu kutoka kwa kumbukumbu ikiwa inatumia rasilimali za mfumo bila 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 kuachilia rasilimali iliyoshikilia. Kwa hivyo njia hii inaitwa katika programu, na watengenezaji wanapaswa kuitekeleza ili programu itoe kumbukumbu iliyo nayo, ihifadhi iliyosindika na kufuta data isiyo ya lazima kutoka kwa kumbukumbu, na vinginevyo inafungua kumbukumbu ya kutosha. Ni kweli kwamba watengenezaji wengi, kwa mfano wanaoanza, hawafikirii juu ya vitu kama hivyo au hawaelewi, na kisha inaweza kutokea kwamba programu yao inahatarisha maisha ya betri na/au hutumia rasilimali za mfumo bila lazima hata chinichini. Sijui jinsi iOS itafanya ikiwa programu haifanyi chochote baada ya kupokea onyo la kumbukumbu na inaendelea kutumia rasilimali za mfumo kama hapo awali.
Majimbo haya machache na mbinu zinazohusiana ndizo zilizo nyuma ya "multitasking" nzima katika iOS... ni mfumo mzuri ikiwa wasanidi programu hawatapuuza hitaji la kuwajibika kuhusu kile ambacho programu zitatumia kwenye vifaa vya watumiaji wao ikiwa zitapunguzwa. au pata maonyo kutoka kwa mfumo na zaidi ...
Natumai maelezo haya mafupi yatakusaidia kuelewa jinsi programu inavyohusika katika kufanya kila kitu kifanye kazi vizuri. Kwa hivyo inawezekana kusema kwamba ni kosa la utumiaji usio sahihi na mtumiaji, ambayo inaweza kueleweka kama - ikiwa unatumia programu nyingi za bure kutoka kwa watengenezaji wa amateur kwa idadi kubwa, kifaa chako cha iOS kitakuwa mbaya zaidi kuliko ikiwa unatumia kubwa. idadi ya maombi ya bila malipo na yanayolipishwa kutoka kwa wasanidi uzoefu au wataalamu. Hii haimaanishi kuwa hakuna ubaguzi katika miduara yote miwili. Kwa mfano, foursquare hutenda kwa kushangaza na kwa kudai, na wakati huo huo, mtu angetarajia kuwa wao ni watengenezaji wenye ujuzi sana ambao hutoa muda mwingi wa kumbukumbu na usimamizi wa betri, lakini kinyume chake ni kweli. Tatizo kubwa la 4SQ ni mawasiliano na seva, ambazo mara nyingi hutegemea na kuzidiwa. Huu ni mfano tu wa ukweli kwamba hata maombi yanayojulikana yana matatizo, ambayo haibadili ukweli kwamba 4SQ ni huduma kubwa.
Kuwa na furaha Apples!! :)
Tuliongeza maelezo kwenye makala kwa ruhusa ya aina ya mwandishi ;-)
Samahani, ENTER ilikuwa kila mahali kati ya aya, wangeweza kufanya jambo kuhusu hilo hapa ili maoni yawe na angalau kidogo ya RICH TEXT FORMATING.
ArnieX: asante kwa maoni !!
Huyo Faramir: Mimi kuhusu tatizo lako, sijui kama itasaidia katika kesi yako, lakini najua kutokana na uzoefu wangu mwenyewe kwamba ukifunga programu (katika multitasking) inachukua sekunde chache hadi imefungwa, kwa hivyo ikiwa. ukiizima Ninapendekeza kungoja sekunde chache (mimi nasubiri takriban sekunde 10 ili kuwa na uhakika) hadi ikamilike na ndipo tu nianze tena.
Unakaribishwa ;) Nitafurahi kusaidia nikipata fursa ya kuchangia.
Je, inapaswa kuwaje kwa Meeb, ninapoingia kwenye ICQ au FB kupiga gumzo kupitia hiyo, inatoka kiotomatiki baada ya dakika 10 na mimi kwenda nje ya mtandao au inaendelea kufanya kazi? asante kwa ufafanuzi:P
Baada ya dakika kumi, muunganisho wa programu kwenye Mtandao unaingiliwa tu. Hata hivyo, bado utakuwa mtandaoni kwenye seva ya Meeba na utapokea arifa kutoka kwa programu ikiwa mtu atakuandikia. Baada ya kufungua tena programu, muunganisho utaanzishwa baada ya muda mfupi na unaweza kuendelea kuzungumza kwa furaha.
Kwa hivyo, ikiwa nilielewa makala uliyounganisha kwa usahihi, takwimu zinarejelea tu programu kuacha kufanya kazi zinapoanza, ambayo ni asilimia ndogo kabisa ya matukio ambapo ajali inaweza kutokea. Kwa hivyo, haiwezekani kuhitimisha kutoka kwa "utafiti" huu kwamba iOS haina utulivu kwa maoni yangu. Zaidi ya hayo, mtafsiri wa makala yaliyochukuliwa kutoka Forbes alisahau kutaja kwamba kampuni inayotoa data kuhusu kuacha kufanya kazi kwa programu inasaidiwa na Google, miongoni mwa wengine ("Crittercism, ambayo inaungwa mkono na Google Ventures,...").