Краткият отговор на този въпрос е: Да. Тази статия представя чиста Java реализация на сопрограми, достъпна като отворен код на GitHub под лиценза Apache 2.0. Той използва функции, налични от Java 8, за да направи декларацията и изпълнението на сопрограми възможно най-прости.
Могат ли да се използват сопрограми в Java?
Корутина е модел на едновременно проектиране, който можете да използвате на Android, за да опростите кода, който се изпълнява асинхронно. Корутините бяха добавени към Kotlin във версия 1.3 и се основават на установени концепции от други езици.
Каква е разликата между корутините и RxJava?
RxJava може да се използва с всеки съвместим с Java език, докато спрограмите на Kotlin могат да бъдат написани само в Kotlin. Това не е проблем за Trello Android, тъй като ние сме ол-ин на Kotlin, но може да е проблем за други. … Библиотеката може да използва вътрешнокорутини, но да излага на потребителите нормален Java API.)
Кога трябва да използвам сопрограми?
Случай на използване: сопрограмите често се използват при програмиране на игри за изчисления на отрязъци от време. За да поддържате постоянна честота на кадрите в игра, например 60 кадъра в секунда, имате около 16,6 ms за изпълнение на код във всеки кадър. Това включва симулация на физика, обработка на входни данни, рисуване/рисуване. Да кажем, че вашият метод се изпълнява във всеки кадър.
Как използвате корутините в дейността?
Винаги стартирайте сопрограми на слоя на потребителския интерфейс на вашияприложение (ViewModel, Activity или Fragment) и ги свържете с неговия жизнен цикъл, като използвате подходящия CoroutineScope.
✅ По-добро решение
- ViewModel. Когато стартирате сопрограми от ViewModel, можете да използвате viewModelScope viewModelScope.launch { …
- Активност. …
- Фрагмент. …
- Програми за цялото приложение.