を拡張するカスタム クラスがありますTextureView
。これTextureView
にはsurfaceTexture
、mSurfaceTexture
. これはシングル バッファ サーフェスです。
Androidのドキュメントに従って、ここに:
シングル バッファ モードでは、アプリケーションはイメージ コンテンツ バッファへのアクセスをシリアル化する必要があります。画像コンテンツが更新されるたびに、画像コンテンツ プロデューサーがバッファの所有権を取得する前に releaseTexImage() メソッドを呼び出す必要があります。
そのため、画像プロデューサーが所有権を取得するたびにこれを呼び出しています。Android 10 では正常に動作しますが、Android 9 では次のエラーが発生します。
11-05 19:05:53.960 23442 24509 E AndroidRuntime: java.lang.IllegalStateException: Unable to release texture contents (see logcat for details)
11-05 19:05:53.960 23442 24509 E AndroidRuntime: at android.graphics.SurfaceTexture.nativeReleaseTexImage(Native Method)
11-05 19:05:53.960 23442 24509 E AndroidRuntime: at android.graphics.SurfaceTexture.releaseTexImage(SurfaceTexture.java:252)
私は電話してANativeWindow_fromSurface
います。これを使用した後、nativewindow をリリースするなど、何か他のことを行う必要がありますか?
なぜこれが起こっているのか、他の誰かが同様の問題を抱えているのかについての考えはありますか?