Πότε να χρησιμοποιήσετε το dispatchers.io;

Πίνακας περιεχομένων:

Πότε να χρησιμοποιήσετε το dispatchers.io;
Πότε να χρησιμοποιήσετε το dispatchers.io;
Anonim

Το

Dispatchers. IO έχει σχεδιαστεί για χρήση όταν αποκλείουμε νήματα με μεγαλύτερες λειτουργίες I/O. Για παράδειγμα, όταν διαβάζουμε αρχεία, κοινόχρηστες προτιμήσεις ή λειτουργίες αποκλεισμού κλήσεων. Αυτός ο αποστολέας έχει επίσης μια δεξαμενή νημάτων, αλλά είναι πολύ μεγαλύτερη. Πρόσθετα νήματα σε αυτό το pool δημιουργούνται και κλείνουν κατόπιν ζήτησης.

Τι είναι το Dispatchers io;

Αποστολείς. Main - Χρησιμοποιήστε αυτόν τον διεκπεραιωτή για να εκτελέσετε μια κορουτίνα στο κύριο νήμα Android. … Τα παραδείγματα περιλαμβάνουν την κλήση συναρτήσεων αναστολής, την εκτέλεση λειτουργιών πλαισίου διεπαφής χρήστη Android και την ενημέρωση αντικειμένων LiveData. Dispatchers. IO - Αυτός ο διεκπεραιωτής είναι βελτιστοποιημένος για την εκτέλεση I/O δίσκου ή δικτύου εκτός του κύριου νήματος.

Πότε πρέπει να χρησιμοποιώ κορουτίνες;

Περίπτωση χρήσης: Οι κορουτίνες χρησιμοποιούνται συχνά στον προγραμματισμό παιχνιδιών για υπολογισμούς χρονικής τομής. Για να διατηρήσετε έναν σταθερό ρυθμό καρέ σε ένα παιχνίδι, π.χ. 60 fps, έχετε περίπου 16,6 ms για να εκτελέσετε κώδικα σε κάθε καρέ. Αυτό περιλαμβάνει προσομοίωση φυσικής, επεξεργασία εισροών, σχέδιο/ζωγραφική. Ας υποθέσουμε ότι η μέθοδός σας εκτελείται σε κάθε πλαίσιο.

Γιατί χρησιμοποιείται η κορουτίνα;

Το

Coroutines είναι η συνιστώμενη λύση για ασύγχρονο προγραμματισμό σε Android. … Ενσωματωμένη υποστήριξη ακύρωσης: Η ακύρωση δημιουργείται αυτόματα μέσω της ιεραρχίας κορουτίνας που εκτελείται. Λιγότερες διαρροές μνήμης: Χρησιμοποιεί δομημένη ταυτόχρονη λειτουργία για την εκτέλεση λειτουργιών εντός ενός εύρους.

Πώς χρησιμοποιείτε τις κορουτίνες στη δραστηριότητα;

Πάνταεκκινήστε τις κορουτίνες στο επίπεδο διεπαφής χρήστη της εφαρμογής σας (ViewModel, Activity ή Fragment) και συνδέστε τις με τον κύκλο ζωής της χρησιμοποιώντας το κατάλληλο CoroutineScope.

✅ Μια καλύτερη λύση

  1. ViewModel. Όταν εκκινείτε κορουτίνες από ένα ViewModel, μπορείτε να χρησιμοποιήσετε το viewModelScope viewModelScope.launch { …
  2. Δραστηριότητα. …
  3. Θραύσμα. …
  4. Κορουτίνες σε όλη την εφαρμογή.

Συνιστάται: