Dispatchers. IO-ն նախատեսված է օգտագործելու համար երբ արգելափակում ենք ավելի երկար I/O գործառնություններով շղթաները: Օրինակ, երբ մենք կարդում ենք ֆայլեր, ընդհանուր նախապատվություններ կամ զանգերի արգելափակման գործառույթներ: Այս դիսպետչերը նույնպես ունի թելերի լողավազան, բայց այն շատ ավելի մեծ է։ Լրացուցիչ թեմաներ այս լողավազանում ստեղծվում և փակվում են ըստ պահանջի:
Ի՞նչ է Dispatchers io-ն:
Դիսպետչերներ. Հիմնական - Օգտագործեք այս դիսպետչերը՝ Android-ի հիմնական թեմայում կորուտին գործարկելու համար: … Օրինակները ներառում են կասեցման գործառույթների կանչում, Android UI շրջանակի գործառնությունների գործարկում և LiveData օբյեկտների թարմացում: Dispatchers. IO - Այս դիսպետչերը օպտիմիզացված է սկավառակի կամ ցանցի մուտքի/ելք կատարելու համար հիմնական թեմայից դուրս:
Ե՞րբ պետք է օգտագործեմ կորուտիններ:
Օգտագործման դեպք. կրկնօրինակները հաճախ օգտագործվում են խաղի ծրագրավորման մեջ ժամանակի կտրվածքի հաշվարկների համար: Խաղում կադրերի հետևողական արագություն պահպանելու համար, օրինակ՝ 60 կադր/վրկ, դուք ունեք մոտ 16,6 մվ՝ յուրաքանչյուր կադրում կոդը գործարկելու համար: Դա ներառում է ֆիզիկայի սիմուլյացիա, մուտքային մշակում, նկարչություն/նկարչություն: Ենթադրենք, որ ձեր մեթոդը կատարվում է յուրաքանչյուր շրջանակում:
Ինչու է օգտագործվում կորուտինը:
Coroutines-ը առաջարկվող լուծումն է ասինխրոն ծրագրավորման Android-ում: … Ներկառուցված չեղարկման աջակցություն. չեղարկումն ինքնաբերաբար ստեղծվում է գործող կորուտինային հիերարխիայի միջոցով: Ավելի քիչ հիշողության արտահոսք. այն օգտագործում է կառուցվածքային միաժամանակյա գործողությունները որոշակի շրջանակում գործելու համար:
Ինչպե՞ս եք օգտագործում միջատները գործունեության մեջ:
Միշտգործարկեք կորուտիններ ձեր հավելվածի UI շերտում (ViewModel, Activity կամ Fragment) և կապեք դրանք իր կյանքի ցիկլի հետ՝ օգտագործելով համապատասխան CoroutineScope :
✅ Ավելի լավ լուծում
- ViewModel. ViewModel-ից հիմնական ծրագրեր գործարկելիս կարող եք օգտագործել viewModelScope viewModelScope.launch { …
- Գործունեություն. …
- Fragment. …
- Հավելվածի լայնածավալ Coroutines.