如何解决JNI 内存模型
我想了解当 android 或 java 应用程序使用使用 JNI 的本机代码时如何设置不同的内存段。
本机代码打包为 APK 内的共享库。
当使用 System.loadLibrary
调用请求加载共享库时,共享库是加载到 JVM 中还是加载到作为普通 C/C++ 应用程序本地执行的不同进程中?更重要的是,共享库是否开始使用 JVM 的堆、栈和其他内存段?共享库中的代码是否在 JVM 上下文中执行?
我将其形象化为:Java 代码由字节码组成,因此 JVM 会对其进行解释。但是当Java进行原生调用时,共享库的原生代码是由JVM直接执行的,没有任何解释。如有错误请指正。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。