Dispatchers. IO jest przeznaczony do użycia gdy blokujemy wątki z dłuższymi operacjami I/O. Na przykład, gdy czytamy pliki, współdzielone preferencje lub wywołujemy funkcje blokujące. Ten dyspozytor również ma pulę wątków, ale jest ona znacznie większa. Dodatkowe wątki w tej puli są tworzone i wyłączane na żądanie.
Co to jest Dispatcher io?
Dyspozytorzy. Główny - użyj tego dyspozytora, aby uruchomić współprogram w głównym wątku systemu Android. … Przykłady obejmują wywoływanie funkcji zawieszenia, uruchamianie operacji struktury interfejsu użytkownika systemu Android i aktualizowanie obiektów LiveData. Dispatchers. IO - ten dyspozytor jest zoptymalizowany do wykonywania operacji we/wy dysku lub sieci poza głównym wątkiem.
Kiedy należy używać współprogramów?
Przypadek użycia: współprogramy są często używane w programowaniu gier do obliczeń przedziału czasu. Aby utrzymać stałą liczbę klatek na sekundę w grze, np. 60 fps, masz około 16,6 ms na wykonanie kodu w każdej klatce. Obejmuje to symulację fizyki, przetwarzanie danych wejściowych, rysowanie/malowanie. Powiedzmy, że twoja metoda jest wykonywana w każdej klatce.
Dlaczego używa się współprogramu?
Coroutines to zalecane rozwiązanie do programowania asynchronicznego w systemie Android. … Wbudowana obsługa anulowania: anulowanie jest generowane automatycznie przez działającą hierarchię współprogramów. Mniej wycieków pamięci: wykorzystuje ustrukturyzowaną współbieżność do uruchamiania operacji w zakresie.
Jak wykorzystujesz współprogramy w działaniu?
Zawszeuruchom współprogramy w warstwie interfejsu użytkownika aplikacji (ViewModel, Activity lub Fragment) i powiąż je z jej cyklem życia, używając odpowiedniego CoroutineScope.
✅ Lepsze rozwiązanie
- ViewModel. Podczas uruchamiania współprogramów z ViewModel można użyć viewModelScope viewModelScope.launch { …
- Aktywność. …
- Fragment. …
- Współprogramy obejmujące całą aplikację.