onSurfaceTextureDestroyed не вызывается в Android 7/8, SurfaceTexture.setDefaultBufferSize не действует после повторного открытия действия

Зачем onSurfaceTextureDestroyed не вызывается в Android 7, 8, когда активность становится невидимой (onPause, onStop называются)?

Чтобы исправить проблему с TextureView заполнение кадра, когда предварительный просмотр камеры больше или меньше TextureView's размер я использую TextureView'sSurfaceTexture.setDefaultBufferSize(cameraWidth, cameraHeight)

но после активности становится невидимым (onPause, onStop) а также onSurfaceTextureDestroyed не вызывается пытаюсь вернуться к активности (onResume, onStart) рамка больше не соответствует размеру TextureView, и я пытаюсь вызвать SurfaceTexture.setDefaultBufferSize(cameraWidth, cameraHeight) еще раз, но это ничего не влияет (кадры не заполняют полный вид), пока я не вызову этот метод позже:

public void onStart() {
    mTextureView.postDelayed(() -> {
        mTextureView.getSurfaceTexture().setDefaultBufferSize(cameraWidth, cameraHeight);
    }, 2000);
}

так onSurfaceTextureDestroyed не вызывается во время onPause, onStop

а также onSurfaceTextureAvailable вызывается только один раз после onCreate, onStart, onResume, но не вызывается после повторного открытия действия (onPause, onStop, onStart, onResume), поскольку текстура не была уничтожена....

mTextureView.setSurfaceTextureListener(new TextureView.SurfaceTextureListener() {
        @Override
        public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) { 
            // is called only once, isn't called after reopening activity
            Log.i(TAG, "mTextureView onSurfaceTextureAvailable");
            surface.setDefaultBufferSize(cameraWidth, cameraHeight)
        }


        @Override
        public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
            // isn't called on Android 7, 8
            Log.i(TAG, "mTextureView onSurfaceTextureDestroyed");
            return true;
        }

        ...
    });

0 ответов

Другие вопросы по тегам