从Java OpenCV的内存泄漏(Memory Leak from Java OpenCv)

2019-09-30 19:09发布

我处理一帧...

@Override
public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) 
{
    Mat frame = inputFrame.rgba();
    mCameraCalculator.processFrame(frame);
    return frame;
}

其中设置帧到一个新的裁剪垫。

public void processFrame(Mat frame) 
{
    //fill frame outside of square center region
    Mat mask = new Mat(frame.size(), frame.type(), Scalar.all(255));  //create mask
    mask.submat(getCenterSquare(mask)).setTo(Scalar.all(0));        //init mask
    frame.setTo(Scalar.all(0), mask);   //fill

    mask.release()    //this does not solve the problem
}

这会导致内存泄漏,最终崩溃的应用程序。 此外,使用Android Studio的Android的探查,我看到未释放内存的原产。 这是怎么回事了?

文章来源: Memory Leak from Java OpenCv