【问题标题】:Android replace java executorservice and future with coroutinesAndroid 用协程替换 java executorservice 和 future
【发布时间】:2020-09-13 07:07:11
【问题描述】:

我有一个使用 EceutorService 和 Future 的应用,通过套接字向远程服务发送消息并处理它的响应。

我想用协程代替这个机制,因为我已经红色了它更高效更轻便。

有没有办法可以在 java android 应用程序中使用 kotlin 协程? 如果是这样,我该如何实施?是 kotlinx 吗?

【问题讨论】:

    标签: android executorservice kotlin-coroutines coroutine


    【解决方案1】:

    Kotlin 协程是基于 Kotlin 构建的,不能在 Java 应用程序中使用。

    https://developer.android.com/kotlin/coroutines

    【讨论】:

      【解决方案2】:

      你不能在 java 中使用 kotlin 协程。

      但是 java 有一个非常有趣的项目叫做 loom 正在进行中,一旦发布,jvm 将拥有 Fiber 和它附带的所有好东西。

      注意这个空间以获取更多信息: https://wiki.openjdk.java.net/display/loom/Main

      【讨论】:

      • 我对一个现有的应用程序做了一些逆向工程,我反编译了他们的 apk,我看到他们正在一起使用 java 和 kotlinx 协程
      • 该应用程序的原始源代码必须在 kotlin 中。 Kotlin 和 java 都在 jvm 上运行,在这两种情况下,代码都被编译为类文件。带有协程的 Kotlin 代码被编译为类文件,但对于 ex。 suspend 是 kotlin 关键字,在 java 中不可用。
      • 在那个应用程序中看起来有一个用 java 编写的包(该包中的所有类都使用 java 语法)和一个单独的 kotlinx 协程包,并且 java 包中的类导入和实现了一些 kotlinx 协程。
      猜你喜欢
      • 1970-01-01
      • 2012-08-31
      • 1970-01-01
      • 1970-01-01
      • 2021-09-25
      • 2016-10-09
      • 1970-01-01
      • 2018-09-22
      • 1970-01-01
      相关资源
      最近更新 更多