Java 在大量OpenCV操作后正确清理内存

Java 在大量OpenCV操作后正确清理内存,java,android,opencv,kotlin,memory-leaks,Java,Android,Opencv,Kotlin,Memory Leaks,我正在从事一个android项目,该项目使用OpenCV进行一些与人脸图像相关的操作。在我调用应用程序的OpenCV部分之前,我的应用程序的内存使用量大约为50MB,在调用过程中可能会达到600MB,但我遇到的问题是,在操作完成后,应用程序的内存使用量平均约为150MB,如果重复操作,则会增加100MB的调用前内存使用量,100MB将一直被添加,直到出现OOM,我在每次操作后调用System.gc()的代码中尝试了许多方法来执行垃圾收集。 我使用了探查器,我可以看到大部分内存都是从本机代码分配的

我正在从事一个android项目,该项目使用OpenCV进行一些与人脸图像相关的操作。在我调用应用程序的OpenCV部分之前,我的应用程序的内存使用量大约为50MB,在调用过程中可能会达到600MB,但我遇到的问题是,在操作完成后,应用程序的内存使用量平均约为150MB,如果重复操作,则会增加100MB的调用前内存使用量,100MB将一直被添加,直到出现OOM,我在每次操作后调用System.gc()的代码中尝试了许多方法来执行垃圾收集。 我使用了探查器,我可以看到大部分内存都是从本机代码分配的,对于如何正确清理本机分配的内存,您有什么建议吗。请在附件中找到我的堆转储的屏幕截图

任何帮助都将不胜感激。非常感谢。

给您带来问题的OpenCV代码是什么?你能发布一个片段吗?给你带来问题的OpenCV代码是什么?你能发一个片段吗?