Android 百度人脸识别出现内存问题导致崩溃

我使用的百度人脸识别,在识别过程中出现内存问题,下面是我的代码

            // 创建检测结果存储数据
                LivenessModel livenessModel = new LivenessModel();
                // 创建检测对象,如果原始数据YUV,转为算法检测的图片BGR
                BDFaceImageInstance instanceRGB = new BDFaceImageInstance(rgbData, rgbHeight, rgbWidth,
                        BDFaceSDKCommon.BDFaceImageType.BDFACE_IMAGE_TYPE_YUV_NV21,
                        SingleBaseConfig.getBaseConfig().getDetectDirection(),
                        0);//0:RGB无镜像,1:有镜像
                BDFaceImageInstance instanceNIR = new BDFaceImageInstance(nirData, nirHeight, nirWidth,
                        BDFaceSDKCommon.BDFaceImageType.BDFACE_IMAGE_TYPE_YUV_NV21,
                        SingleBaseConfig.getBaseConfig().getDetectDirection(),
                        0);//0:RGB无镜像,1:有镜像
                // getImage() 获取送检图片,如果检测数据有问题,可以通过image view 展示送检图片
                livenessModel.setBdFaceImageInstance(instanceRGB.getImage());
FaceInfo[] faceInfosRGBFastTrack = faceDetect.track(
                        BDFaceSDKCommon.DetectType.DETECT_VIS,
                        BDFaceSDKCommon.AlignType.BDFACE_ALIGN_TYPE_RGB_FAST,
                        instanceRGB);
FaceInfo[] faceInfosNIR = faceDetectNir.detect(
                        BDFaceSDKCommon.DetectType.DETECT_NIR,
                        BDFaceSDKCommon.AlignType.BDFACE_ALIGN_TYPE_NIR_ACCURATE,
                        instanceNIR, faceInfosRGBFastTrack, bdFaceDetectListConfig);
if (faceInfosRGBFastTrack != null && faceInfosRGBFastTrack.length > 0 &&
                        faceInfosNIR != null && faceInfosNIR.length > 0) {//可见光、近红外均检测到人脸
                    FaceInfo[] faceInfosRGB = faceDetect.detect(BDFaceSDKCommon.DetectType.DETECT_VIS,
                            BDFaceSDKCommon.AlignType.BDFACE_ALIGN_TYPE_RGB_ACCURATE, instanceRGB,
                            faceInfosRGBFastTrack, bdFaceDetectListConfig);
                    FaceInfo faceInfo = faceInfosRGB[0];
                    //脸超出屏幕
                    //中心点小于1/4大于3/4 不管脸是否超出
                    if ((faceInfo.centerX - faceInfo.width / 2) < 0
                            || (faceInfo.centerY - faceInfo.height / 2) < 0
                            || (faceInfo.centerX + faceInfo.width / 2) > 1f * rgbWidth * widthPixels / heightPixel
                            || (faceInfo.centerY + faceInfo.height / 2) > rgbWidth) {

                        instanceRGB.destory();
                        instanceNIR.destory();
                        //在边缘
                        if (faceDetectCallBack != null) {
                            faceDetectCallBack.onTip(CODE_FACE_ERROR, "请移动到屏幕中间");
                        }
                        Log.i("程序崩溃日志--","13");
                        return;
                    }
                    livenessModel.setTrackFaceInfo(faceInfosRGB);
                    livenessModel.setFaceInfo(faceInfo);
                    livenessModel.setLandmarks(faceInfo.landmarks);
                    if (faceDetectCallBack != null) {
                        faceDetectCallBack.onFaceDetectDarwCallback(livenessModel);
                    }
                    //质量检测
                    if (!onQualityCheck(faceInfo, faceDetectCallBack)) {
                        // 流程结束销毁图片,开始下一帧图片检测,否则内存泄露
                        instanceRGB.destory();
                        instanceNIR.destory();
                        return;
                    }
                    // 活体检测
                    onLivenessCheck(instanceRGB, instanceNIR,
                            faceInfosRGB[0].landmarks, faceInfosNIR[0].landmarks,
                            livenessModel, faceDetectCallBack);}
                

会在faceDetect.detect 和fceDetect.track这里发生错误
出现heap corruption detected by dlfree
Fatal signal 6 (SIGABRT), code -6 in tid 4274 (RxCachedThreadS), status: 90错误,请问这个改怎么解决,已经排查了半个月了

内存泄漏:检查代码中是否有未释放的资源,比如像instanceRGB和instanceNIR这样的BDFaceImageInstance对象,确保在使用后进行了释放。

内存溢出:检查是否有大量的内存分配操作,建议优化代码,减少内存分配,例如可以尝试减少变量的创建次数,减少不必要的对象创建等。

设备内存不足:如果设备内存不足,可能会导致内存问题,建议尝试关闭一些其他应用程序,释放一些内存空间。