java - 通过 Java 线程或 NDK pthread 加载 JNI 库?

标签 java android multithreading android-ndk java-native-interface

我正在将许多 .so 库加载到 Android 应用程序中。当我进行 JNI 调用时,library.so 中的函数运行无限循环,因此它永远不会返回到调用函数。 我应该从 Java 线程进行 JNI 调用还是应该从库中的 pthread 加载函数?哪个更好?

第二个问题:当用户退出 MainActivity 时,如何确定库已卸载? 谢谢。

最佳答案

对于第一个问题,可能差别很小。当您与 Java 交互时,您的 native 线程将附加到 JVM。这取决于您是否想使用 pthread 或 Java 线程进行线程编程,以及哪种模型对您的特定应用程序最有意义。

就第二个问题而言,您需要编写一些清理代码来以优雅的方式解决这个问题。

关于java - 通过 Java 线程或 NDK pthread 加载 JNI 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24295599/

相关文章:

通过 webview 显示的 Android 本地镜像模糊

java - Android Studio 1.0 编译错误 - 沿边缘不能有多个标记区域

java - 配置更改后小部件不刷新

java - 我的 Java IDE 的域模型

java - Eclipse PDT - 如何用于 Java 开发

android - 在框架的特定区域设置textview

java - JAX-WS 端点到 Domino

c++ - 我是否需要在多线程环境中保护对 STL 容器的读取访问?

c# - SqlConnection/SqlCommand 线程安全吗?

java - 线程声明