Sobes.tech
Junior — Middle

Ի՞նչ կլինի, եթե իրականացնել սինխրոն գործողություն հիմնական գործարկման թելում:

sobes.tech AI

Պատասխան AI-ից

Եթե iOS-ում հիմնական (UI) հոսքում սինխրոնային գործողություն իրականացնեք, օգտագործողի ինտերֆեյսը կդադարի արձագանքել օգտագործողի գործողություններին մինչև այդ գործողության ավարտը։ Դա տեղի է ունենում, քանի որ հիմնական հոսքը պատասխանատու է իրադարձությունների մշակման և UI-ի թարմացման համար, և այդ հոսքի բլոկավորումը հանգեցնում է «մառախուղի»։

Օրինակ, եթե ցանցից տվյալների բեռնումը կամ ծանր մշակումը կատարվում է սինխրոնային կերպով հիմնական հոսքում, ծրագիրը կարող է թվում, թե այն կիսատ է, ինչը վատացնում է օգտագործողի փորձը։

Արժե խուսափել դրանից, երկարատև գործողությունները պետք է կատարվեն ֆոնային հոսքում՝ օգտագործելով GCD (Grand Central Dispatch) կամ գործողությունների հերթեր (OperationQueue), և UI-ի թարմացումները պետք է կրկին կատարվեն հիմնական հոսքում։