Dispatchers. IO ออกแบบมาเพื่อใช้งาน เมื่อเราบล็อกเธรดที่มีการดำเนินการ I/O ที่ยาวขึ้น ตัวอย่างเช่น เมื่อเราอ่านไฟล์ ค่ากำหนดที่ใช้ร่วมกัน หรือการเรียกใช้ฟังก์ชันการบล็อก โปรแกรมเลือกจ่ายงานนี้มีกลุ่มของเธรดด้วย แต่มีขนาดใหญ่กว่ามาก มีการสร้างชุดข้อความเพิ่มเติมในพูลนี้และจะปิดให้บริการตามคำขอ
Dispatchers io คืออะไร
ดิสแพตเชอร์. หลัก - ใช้โปรแกรมเลือกจ่ายงานนี้เพื่อเรียกใช้ coroutine บนเธรดหลักของ Android … ตัวอย่าง ได้แก่ การเรียกใช้ฟังก์ชันระงับ การเรียกใช้งานเฟรมเวิร์ก Android UI และการอัปเดตออบเจ็กต์ LiveData Dispatchers. IO - ดิสแพตเชอร์นี้ ได้รับการเพิ่มประสิทธิภาพเพื่อดำเนินการ I/O ของดิสก์หรือเครือข่ายนอกเธรดหลัก.
ฉันควรใช้ coroutines เมื่อใด
กรณีการใช้งาน: มักใช้ coroutines ในการเขียนโปรแกรมเกมเพื่อคำนวณแบ่งเวลา เพื่อรักษาอัตราเฟรมที่สม่ำเสมอในเกม เช่น 60 fps คุณมีเวลา 16.6 มิลลิวินาทีในการรันโค้ดในแต่ละเฟรม ซึ่งรวมถึงการจำลองทางฟิสิกส์ การประมวลผลอินพุต การวาดภาพ/ระบายสี สมมติว่าวิธีการของคุณดำเนินการในทุกเฟรม
ทำไมจึงใช้โครูทีน
Coroutines คือ วิธีแก้ปัญหาที่แนะนำสำหรับการเขียนโปรแกรมแบบอะซิงโครนัส บน Android … รองรับการยกเลิกในตัว: การยกเลิกจะถูกสร้างขึ้นโดยอัตโนมัติผ่านลำดับชั้น coroutine ที่ทำงานอยู่ หน่วยความจำรั่วน้อยลง: ใช้การทำงานพร้อมกันที่มีโครงสร้างเพื่อเรียกใช้การดำเนินการภายในขอบเขต
คุณใช้ coroutines ในกิจกรรมอย่างไร
เสมอเปิด coroutines บนเลเยอร์ UI ของแอปของคุณ (ViewModel, Activity หรือ Fragment) และผูกไว้กับวงจรชีวิตโดยใช้ CoroutineScope .…
ที่เหมาะสม
✅ ทางออกที่ดีกว่า
- ดูโมเดล. เมื่อเรียกใช้ coroutines จาก ViewModel คุณสามารถใช้ viewModelScope viewModelScope.launch { …
- กิจกรรม. …
- ชิ้นส่วน. …
- Coroutines ทั่วทั้งแอป