我的问题与Java-Native-Code-Background密切相关:
您无法很好地控制 Java 的本机内存。您可能听说过本机缓冲区,但他们没有告诉您的是 Java 不会正确地对本机缓冲区进行垃圾处理。问题是Java没有考虑本地缓冲区的大小,这意味着它会在某个时候释放本地缓冲区,但如果你真的有很多,那么在你用完之前可能不会的记忆。这意味着所有数据都必须存储在 Java 对象中。
因此,是否有可能以某种方式告诉或注册使用的本机内存量,以便告诉 JVM 它应该运行 GC?如果我理解正确,那么Dalvik会这样做,但如果在所有 JVM 上有一个可靠的方法来这样做会很好。
谢谢!