Բոլորս էլ գիտենք «բազմ առաջադրանք = միաժամանակ մի քանի պրոցեսներ կատարելու կարողություն» դասը։ Մենք այն օգտագործում ենք մեր համակարգիչներում՝ առանձնապես տեղյակ չլինելով դրա առկայության մասին: Մեկ հավելվածի հավելվածների կամ պատուհանների միջև անցումը տեղի է ունենում (մեզ համար) իրական ժամանակում, և մենք օպերացիոն համակարգի այս հնարավորությունը համարում ենք տրված:
Առաջադրանք այլ է
Օպերացիոն համակարգը պրոցեսորը հատկացնում է բոլոր հավելվածներին փոքր ժամանակային ընդմիջումներով: Այս ժամանակահատվածներն այնքան փոքր են, որ մենք չենք կարող դրանք նկատել, այնպես որ թվում է, թե բոլոր հավելվածները միաժամանակ օգտագործում են պրոցեսորը: Մենք կարող ենք այդպես մտածել multitasking iOS 4-ում աշխատում է ճիշտ նույնը: Դա այդպես չէ։ Հիմնական պատճառը, իհարկե, մարտկոցի հզորությունն է։ Եթե բոլոր հավելվածներն իսկապես մնան հետին պլանում, մենք հավանաբար ստիպված կլինեինք մի քանի ժամից վարդակ փնտրել:
iOS 4-ի հետ համատեղելի հավելվածների մեծ մասը դրվում է «կասեցված ռեժիմի» կամ «քնելու»՝ Home կոճակը սեղմելուց հետո: Նմանությունը կարող է լինել նոութբուքի կափարիչը փակելը, որն անմիջապես անցնում է քնի ռեժիմի: Կափարիչը բացելուց հետո նոութբուքն արթնանում է, և ամեն ինչ ճիշտ նույն վիճակում է, ինչ մինչև կափարիչը փակելը: Ավելին, կան հավելվածներ, որտեղ «Տուն» կոճակը սեղմելը հանգեցնում է դրանց ավարտի: Եվ դրանով մենք հասկանում ենք իրական դադարեցում։ Մշակողները կարող են ընտրել այս մեթոդներից որն օգտագործել:
Բայց կա դիմումների մեկ այլ կատեգորիա. Սրանք այն հավելվածներն են, որոնք իսկապես աշխատում են հետին պլանում, թեև դուք բոլորովին այլ բան եք անում ձեր iDevice-ում: Skype-ը լավ օրինակ է, քանի որ այն մշտական ինտերնետ կապի կարիք ունի: Այլ օրինակներ կարող են լինել հավելվածները, որոնք երաժշտություն են նվագարկում հետին պլանում (Պանդորա) կամ հավելվածները, որոնք պահանջում են GPS-ի մշտական օգտագործում: Այո, այս հավելվածները սպառում են ձեր մարտկոցը նույնիսկ հետին պլանում աշխատելիս:
Քնե՞լ, թե՞ կրակել:
iOS 4-ի հետ համատեղելի որոշ հավելվածներ, որոնք պետք է քնած լինեն («կասեցված ռեժիմի» մեջ դրվեն Home կոճակը սեղմելուց հետո, շարունակում են աշխատել հետին պլանում: Apple-ը ծրագրավորողներին տվել է ուղիղ տասը րոպե, որպեսզի հավելվածը կատարի իր առաջադրանքը, ինչ էլ որ լիներ: Ենթադրենք, դուք ֆայլ եք ներբեռնում GoodReader-ում: Հանկարծ ինչ-որ մեկը ցանկանում է զանգահարել ձեզ, և դուք պարզապես պետք է ընդունեք այդ կարևոր զանգը: Զանգը տաս րոպեից ավելի չի տևել, դուք կվերադառնաք GoodReader հավելված։ Ֆայլը կարող է արդեն ներբեռնվել կամ դեռ ներբեռնվում է: Իսկ եթե զանգը տևի ավելի քան տասը րոպե: Հավելվածը, մեր դեպքում՝ GoodReader-ը, ստիպված կլինի դադարեցնել իր գործունեությունը և ասել iOS-ին, որ այն կարելի է քնեցնել։ Եթե նա չանի, նա անխնա կդադարեցվի հենց iOS-ի կողմից:
Այժմ դուք գիտեք տարբերությունը «բջջային» և «սեղան» բազմաֆունկցիոնալության միջև: Թեև հոսունությունն ու հավելվածների միջև փոխարկման արագությունը կարևոր են համակարգչի համար, մարտկոցի կյանքը միշտ ամենակարևորն է շարժական սարքերի համար: Multitasking-ը նույնպես պետք է հարմարեցվեր այս փաստին: Հետևաբար, այս հոդվածը կարդալուց հետո, եթե երկու անգամ սեղմեք Home կոճակը, դուք այլևս չեք տեսնի «հետին պլանում աշխատող հավելվածների բարը», այլ ըստ էության միայն «վերջերս օգտագործված հավելվածների ցանկը»։
Հեղինակ՝ Դանիել ՀրուշկաԱղբյուրը ` onemoretap.com
հմմ, հետաքրքիր է :) Ես միշտ մտածում էի, որ դա միշտ նման է, թե ինչպես կարելի է անել Unix-ում: Այն, որ հավելվածին հատկացվել է զրոյական պրոցեսորի ժամանակ, և գործընթացը պարզապես նստում է հիշողության մեջ, բոլոր ռեսուրսները հատկացվել են: այնպես որ ես ստիպված էի երկու անգամ սեղմել «տուն» և անմիջապես դադարեցնել հավելվածը՝ այն ջնջելու համար: Արդյո՞ք սա նշանակում է, որ նույնիսկ եթե ներքևի թաքնված թերթիկում կա հավելվածի պատկերակ, հավելվածը դեռ վաղուց փակված է (10 րոպե հետո):
Ներքևի ցանկում կան պարզապես ամենավերջին բացված հավելվածները, որոնցից մի քանիսը դեռ կարող են գործարկվել, որոշները կասեցված են, իսկ որոշներն ամբողջությամբ դադարեցվել են: Հավելվածը ցանկից ձեռքով հեռացնելը «կողմնակի ազդեցություն» է ունենում, որ եթե այն գործարկվի (կամ կասեցվի), այն կդադարեցվի:
Հավելվածը պետք է ինքն իրեն պատմի այդ 10 հավելյալ րոպեների մասին, և երաշխավորված չէ, որ կստանա դրանք։
Դե, դա չվերացրեց հավելվածը ցուցակից փակելու իմ մոլուցքը (բա եթե պատահաբար ռեսուրսներ ուտում է, չէ՞:-D)
Ես հասկանում եմ, որ 10 րոպեն նախատեսված է այն հավելվածների համար, որոնք պետք է աշխատեն հետին պլանում և չեն մտնում «skype, GPS և երաժշտության նվագարկում» կատեգորիայի մեջ: Այլ հավելվածներ անցնում են կասեցված ռեժիմի և մնում են հիշողության մեջ այնքան ժամանակ, մինչև հիշողությունն անհրաժեշտ լինի այլ բաների համար:
Կասեցված ռեժիմն ունի այն առավելությունը, որ եթե անհրաժեշտ լինի սպանել հավելվածը, դուք չեք կորցնի դրա տվյալները, ամեն ինչ կպահպանվի կասեցվածին անցնելու պահին։
կամ, օրինակ, նվագարկման դեպքում, bg / fg հրամանի համարժեքը
Իսկ ինչ վերաբերում է նվագարկիչին կամ այլ ծրագրերին, որոնք աշխատում են հետին պլանում ցանկացած երկար ժամանակով: Այսինքն՝ ես կարող եմ «ընտրել» որպես մշակող, թե՞ սա պետք է ինչ-որ կերպ հաստատվի Apple-ի կողմից:
Որպեսզի հավելվածն իսկապես անսահմանափակ ժամանակ աշխատի հետին պլանում, այն պետք է կատարի (գրանցի) հետևյալ գործողություններից մեկը.
- Օգտագործեք Տեղադրության ծառայությունները (GPS)
- Նվագարկել երաժշտություն հետին պլանում
- Օգտագործեք VOIP (Ձայն IP-ի միջոցով)
Ըստ վերնագրի (հայացք գլխարկի տակ) ես ակնկալում էի, որ հոդվածը կպարունակի մի փոքր ավելի ընդարձակ բացատրություն՝ տեխնիկական մանրամասներով։ Սա ավելի շատ նման է հոդվածի պերեքսին: Եթե դա perex է, ե՞րբ է շարունակությունը: Կարող եք վերադարձնել գումարը: :-)
իսկ ի՞նչ կցանկանայիք ավելի մանրամասն իմանալ։
Վերնագրում «գլխարկի տակ» գրված հոդվածից ես կսպասեի մանրամասն տեխնիկական նկարագրություն (հեղինակը կարող է վերլուծել, օրինակ, հավելվածները փոխելու ժամանակ ծախսերը, կամ ինչպես է իրականացվում համակարգի ռեսուրսների միաժամանակյա մուտքը), համեմատություն այլ մոդելների հետ։ (օրինակ, jailbroken iPhone-ով): Իդեալական է այն կրկնօրինակել որոշ չափումներով: Ես ուղղակի շատ ավելին էի սպասում մի հոդվածից, որն իր վերնագրում ունի «գլխարկի տակ», քան այս շատ մակերեսային նկարագրությունը։
Կա՞ որևէ icq հաճախորդ, որը skype-ի նման անընդհատ աշխատում է ֆոնին և չի անջատում կապը:
հավելվածը 10 վայրկյան ունի կասեցման ռեժիմ մտնելու համար, ոչ թե 10 րոպե... և այս գործընթացի ընթացքում որոշ մասեր կարող են կամ չեն կարող «կախվել» backend ծառայություններից, որոնցից մի քանիսն արդեն վերը նշված են. ահա թե ինչ է Apple-ը անվանում «խելացի»: «բազմաֆունկցիոնալ…. հետո համակարգը գնդակահարեց նրան
Հավելվածը կարող է լրացուցիչ ժամանակ պահանջել, եթե ինչ-որ բան ներբեռնվում, վերբեռնվում կամ մշակվում է: Այն կապ չունի GPS-ի, VoIP-ի կամ երաժշտություն նվագելու հետ, որոնք անսահմանափակ ժամանակ աշխատում են մինիմալիստական ռեժիմով: