เราใช้ coroutines ใน java ได้ไหม

เราใช้ coroutines ใน java ได้ไหม
เราใช้ coroutines ใน java ได้ไหม
Anonim

คำตอบสั้นๆ สำหรับคำถามนี้คือ ใช่ บทความนี้นำเสนอการใช้งาน 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.

✅ ดีกว่า วิธีแก้ปัญหา

  1. ดูโมเดล. เมื่อเรียกใช้ coroutines จาก ViewModel คุณสามารถใช้ viewModelScope viewModelScope.launch { …
  2. กิจกรรม. …
  3. ชิ้นส่วน. …
  4. Coroutines ทั่วทั้งแอป