Как уничтожить слушателя FirebaseVisionImage detectInImage в режиме реального времени обнаружения лица - PullRequest
0 голосов
/ 23 апреля 2019

Я обнаруживаю лицо в реальном времени, используя кадры камеры, но как только обнаружение выполнится нормально, но если я уничтожу упражнение и запустлю снова, потребовалось время, чтобы завершить последний кадр, а затем начать снова.В случае успеха слушатель продолжает звонить, пока все кадры не завершены.Я хочу уничтожить список, когда активность переходит в режим паузы.

@Override
public void process(@NonNull Frame frame) {
    if (frame.getSize() != null) {

        width = frame.getSize().getWidth();
        height = frame.getSize().getHeight();

            metadata = new FirebaseVisionImageMetadata.Builder()
                    .setWidth(width)
                    .setHeight(height)
                    .setFormat(FirebaseVisionImageMetadata.IMAGE_FORMAT_NV21)
                    .setRotation(FirebaseVisionImageMetadata.ROTATION_90)
                    .build();

        firebaseVisionImage = FirebaseVisionImage.fromByteArray(frame.getData(), metadata);
        faceDetector.detectInImage(firebaseVisionImage).addOnSuccessListener(this).addOnFailureListener(this);
    } else {
        Log.d(TAG, "Frame Null");
    }
}

Убить слушателя, хотя кадры все еще остаются для обнаружения лица или нет

...