android ndk - 无法加载库,内存不足

时间:2016-01-25 13:41:37

标签: android android-ndk

所以我在运行使用原生opengl库的应用程序时遇到了奇怪的麻烦。它以前工作过,但现在应用程序在启动时崩溃了。真的难以理解导致这种情况的原因。

由于内存不足错误导致无法加载libnativeegl.so,导致出现UnsatisfiedLink错误。它说它无法加载库,因为它试图为它分配800MB内存,这似乎很多。所以

我对此并不了解,但是它不应该链接到机器上已有的库吗?我不知道它为什么要分配这个记忆。那里毫无根据的猜测。

因此链接到库时出现了问题?

在gradle构建文件中,我有:

ndk {
        moduleName "nativeegl"
        ldLibs "log", "android", "EGL", "GLESv1_CM"
    }

在MainActivity中,我加载这些东西:

static {
    System.loadLibrary("nativeegl");
}

直接从这里获取: https://github.com/tsaarni/android-native-egl-example

正如我所说,之前有效。昨晚我在我的开发机器上安装了Java更新(版本8更新71)。也许这是Android Studio失败的这次更新......?

编辑:nativeegl-example仍在运行(在调整一些项目设置之后) - 我的项目可能有问题......

1 个答案:

答案 0 :(得分:0)

事实证明,我不小心将我的应用程序的C ++部分中的静态内存分配增加到了荒谬的数量,并且没有怀疑是这种情况。这是一个非常愚蠢的错误。

因此,内存不足错误是正确的,这不是我怀疑的一些奇怪的JNI错误。如果有人遇到这样的问题,请务必检查您的内存使用情况。