Самым безопасным решением является использование другого класса в качестве «промежуточного» для ваших двух классов, вместо того, чтобы сделать один из них friend.
. Один из способов сделать это предлагается в ответе @ForEveR, но вы можете также можно найти некоторые прокси-классы и другие шаблоны проектирования, которые могут применяться.
Вы можете решить эту проблему с помощью очень простого пользовательского TextureView.
Создайте новый подкласс TextureView и переопределите метод destroyHardwareResources. Не забудьте сделать этот метод пустым. Тогда вы получите то, что хотите.
public class MyTextureView extends TextureView {
...
...
@Override
protected void destroyHardwareResources() {
}
...
...
}