java - 如何在 Java 代码中保留 C++ 对象?可能的?

标签 java c++ android java-native-interface

首先,我有一个遗留的 C++ 库,我正在将我的应用程序迁移到具有新 UI 的 Android。

在运行时,可能会动态创建和销毁多个 C++ 对象。我构建了一组 JNI native 方法来调用库来获取它。但是我应该在哪里保存那些 C++ 对象呢?我必须跟踪它们并在不需要时释放它们。

到目前为止,我只知道 Java 不能引用 C++ 对象。是否可以制作一个包含对 C++ 对象的引用的 Java 包装器类?

谢谢。

最佳答案

是的,这是可能的。您可以将指向 C++ 对象的指针存储在一个简单的 java int 中。就是这样 SWIG这样做。

关于java - 如何在 Java 代码中保留 C++ 对象?可能的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5577559/

相关文章:

java - 如何查找 Java 中使用的 SSL/TLS 版本

java - 分组/识别 Websocket 客户端

java - 创建一个 4 向 ScrollView

java - 如何删除字符串中的任何插入符号?

java - 为什么 Android 的 AsyncTask 没有实现 Future?

c# - 从 C++ 回调到 C# 函数的访问冲突异常/崩溃

c++ - 您将如何对函数的性能进行基准测试?

c++ - 'else' 之前的预期主表达式

android - 安卓可以同时运行多个应用吗?

java - 使用可扩展字符串设置两个第一个单词的样式