คำตอบสั้นๆ สำหรับคำถามนี้คือ ใช่ บทความนี้นำเสนอการใช้งาน Coroutines แบบ Java ล้วนๆ ซึ่งมีให้ใช้งานในรูปแบบโอเพ่นซอร์สบน GitHub ภายใต้ลิขสิทธิ์ Apache 2.0 มันใช้คุณสมบัติที่มีตั้งแต่ Java 8 เพื่อให้การประกาศและการดำเนินการของ coroutines ง่ายที่สุดเท่าที่จะทำได้
coroutines ใช้ใน Java ได้ไหม
Coroutine เป็นรูปแบบการออกแบบการทำงานพร้อมกันที่คุณสามารถใช้กับ Android เพื่อลดความซับซ้อนของโค้ดที่รันแบบอะซิงโครนัส Coroutines ถูกเพิ่มใน Kotlin ในเวอร์ชัน 1.3 และอิงตามแนวคิดที่สร้างขึ้นจากภาษาอื่น
คอรูทีนกับ RxJava ต่างกันอย่างไร
RxJava สามารถใช้กับภาษาที่เข้ากันได้กับ Java ในขณะที่ Kotlin coroutines สามารถเขียนได้ใน Kotlin เท่านั้น นี่ไม่ใช่ข้อกังวลสำหรับ Trello Android เนื่องจากเราใช้ Kotlin ทั้งหมด แต่อาจเป็นข้อกังวลสำหรับผู้อื่น … ไลบรารีสามารถใช้ coroutines ภายในได้ แต่เปิดเผย Java API ปกติแก่ผู้บริโภค)
ฉันควรใช้ coroutines เมื่อใด
กรณีการใช้งาน: มักใช้ coroutines ในการเขียนโปรแกรมเกมเพื่อคำนวณแบ่งเวลา เพื่อรักษาอัตราเฟรมที่สม่ำเสมอในเกม เช่น 60 fps คุณมีเวลา 16.6 มิลลิวินาทีในการรันโค้ดในแต่ละเฟรม ซึ่งรวมถึงการจำลองทางฟิสิกส์ การประมวลผลอินพุต การวาดภาพ/ระบายสี สมมติว่าวิธีการของคุณดำเนินการในทุกเฟรม
คุณใช้ coroutines ในกิจกรรมอย่างไร
เปิด coroutines บนเลเยอร์ UI ของคุณเสมอ(ViewModel, Activity หรือ Fragment) และผูกเข้ากับวงจรชีวิตโดยใช้ CoroutineScope.
✅ ดีกว่า วิธีแก้ปัญหา
- ดูโมเดล. เมื่อเรียกใช้ coroutines จาก ViewModel คุณสามารถใช้ viewModelScope viewModelScope.launch { …
- กิจกรรม. …
- ชิ้นส่วน. …
- Coroutines ทั่วทั้งแอป