【发布时间】:2016-01-06 16:36:43
【问题描述】:
在onPause 中,我使用mTextureView.getSurfaceTexture() 将surfaceTexture 存储到类变量mTextureViewSurface 中
在onResume 我愿意:
if (mTextureView.isAvailable()) {
...
} else {
mTextureView.setSurfaceTextureListener(mSurfaceTextureListener);
}
在那里我尝试恢复表面纹理
@Override
public void onSurfaceTextureAvailable(SurfaceTexture texture, int width, int height) {
if (mTextureViewSurface != null) {
mTextureView.setSurfaceTexture(mTextureViewSurface);
}
}
但是我得到了错误
java.lang.IllegalArgumentException: Cannot setSurfaceTexture to a released SurfaceTexture 来自https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/view/TextureView.java#725
我累了,可能只是需要睡觉,但我想我会在这里问,因为我可能只是在掩饰一些东西。
处理释放的表面纹理的正确方法是什么?
【问题讨论】:
标签: java android textureview