【问题标题】:ndk pthread vs java thread on android when calling jni function调用jni函数时android上的ndk pthread vs java线程
【发布时间】:2018-04-22 01:23:35
【问题描述】:

我需要调用一个 JNI C 函数:

我应该何时从 java 线程(Runnable、AsyncTask 等)调用它?

我应该什么时候调用使用 pthread 的 C 函数?

【问题讨论】:

  • 我需要执行一个后台任务,所以我的问题是每种方法都有哪些优点/缺点

标签: android performance android-studio android-ndk java-native-interface


【解决方案1】:

在许多情况下,使用 Java 后台线程调用本机方法(直接使用 (new Thread( () -> { nativeMethod() } )).start() 或间接通过 AsyncTask 或某些 Executor)可能更容易,尤其是在您的 C 代码应将其结果返回给 Java,或发出 Java 回调。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-02
    • 2013-01-22
    • 2016-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多