Ի՞նչ կլինի, եթե իրականացնել սինխրոն գործողություն հիմնական գործարկման թելում:
sobes.tech AI
Պատասխան AI-ից
Եթե iOS-ում հիմնական (UI) հոսքում սինխրոնային գործողություն իրականացնեք, օգտագործողի ինտերֆեյսը կդադարի արձագանքել օգտագործողի գործողություններին մինչև այդ գործողության ավարտը։ Դա տեղի է ունենում, քանի որ հիմնական հոսքը պատասխանատու է իրադարձությունների մշակման և UI-ի թարմացման համար, և այդ հոսքի բլոկավորումը հանգեցնում է «մառախուղի»։
Օրինակ, եթե ցանցից տվյալների բեռնումը կամ ծանր մշակումը կատարվում է սինխրոնային կերպով հիմնական հոսքում, ծրագիրը կարող է թվում, թե այն կիսատ է, ինչը վատացնում է օգտագործողի փորձը։
Արժե խուսափել դրանից, երկարատև գործողությունները պետք է կատարվեն ֆոնային հոսքում՝ օգտագործելով GCD (Grand Central Dispatch) կամ գործողությունների հերթեր (OperationQueue), և UI-ի թարմացումները պետք է կրկին կատարվեն հիմնական հոսքում։