Отключить рендеринг поверхности с помощью CameraX - PullRequest
0 голосов
/ 17 марта 2020

Вопрос здесь относительно CameraX и его случая использования на ImageAnaysis. Я не уверен, что я плохо использую CameraX или это ошибка. Я использую последнюю версию CameraX в сборке Gradle на android, и большая часть моего потребления процессора уходит в USrfaceTextureRenderer. Мы строго используем сценарий использования ImageAnalysis, но система по-прежнему использует ЦП для визуализации изображения, даже если оно не требуется для нашего приложения. Есть ли способ отключить рендеринг поверхности? Вот мой код и импорт Gradle:

CODE

fun start(analyzer: ImageAnalysis.Analyzer) {
        val cameraProviderFuture = ProcessCameraProvider.getInstance(context)

        cameraProviderFuture.addListener(Runnable {
            // Camera provider is now guaranteed to be available
            val cameraProvider = cameraProviderFuture.get()

            val imageAnalysis = ImageAnalysis.Builder()
                .setTargetResolution(Size(480, 640))
                .setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST)
                .build()

            // Choose the camera by requiring a lens facing
            val cameraSelector = CameraSelector.Builder()
                .requireLensFacing(CameraSelector.LENS_FACING_FRONT)
                .build()

            imageAnalysis.setAnalyzer(analyzerExecutor, analyzer)

            // Attach use cases to the camera with the same lifecycle owner
            val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, imageAnalysis)
        }, ContextCompat.getMainExecutor(context))

    }

GRADLE

def camerax_version = "1.0.0-beta01"
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-runtime:$lifecycle_version"
    implementation("androidx.camera:camera-core:${camerax_version}") {
        exclude group: 'com.google.guava'
    }
    implementation("androidx.camera:camera-camera2:${camerax_version}") {
        exclude group: 'com.google.guava'
    }
    implementation "androidx.camera:camera-lifecycle:${camerax_version}"
...