下面是我如何使用org.bytedeco.opencv.opencv_core.Mat的核心代码:
// image binary
byte[] bytes;
try (PointerScope pointerScope = new PointerScope();
Mat originImage = org.bytedeco.opencv.global.opencv_imgcodecs.imdecode(new Mat(bytes), opencv_imgcodecs.IMREAD_COLOR)) {
// my business logic
pointerScope.deallocate();
}
字符串
我发现Mat对象使用的堆外内存不会被回收,造成内存泄漏,程序运行一段时间后,就会出现OOM。
我尝试使用mat.release()方法,但它不起作用
1条答案
按热度按时间hjzp0vay1#
您正在创建一个不会自动释放的附加
Mat
对象:字符串
您应该单独将其包含到try with资源中:
型