Примечание: я не говорю о совместном использовании переменных между действиями или необходимости их постоянного сохранения.
Я разрабатываю приложение, использующее 3D-движок. Весь мой рендеринг происходит в одном классе рендерера. У меня есть несколько объектов (таких как камера, источник света, кадровый буфер), которые мне нужны в нескольких методах, и поэтому я объявил их как члены класса:
public class Renderer{
//..
private Camera camera = null;
private Light sun = null;
private Matrix someMatrix = new Matrix();
private void onSurfaceChanged(GL10 gl, int width, int height){
//...
sun = new Light(x,y,z,color);
camera = new Camera(arg1, arg2);
}
public void onDrawFrame(GL10 arg0) {
someMatrix = getRandomValues();
//...
}
}
Это "правильный" способ сделать это? Или мне лучше передать объекты через аргументы метода? Конечно, я мог бы объявить someMatrix также в onDrawFrame, но поскольку ресурсы на мобильных устройствах недостаточны, я бы не стал инициализировать их при каждом вызове onDrawFrame. Сейчас у меня проблема в том, что у меня действительно много переменных класса, которые я обычно считаю плохим стилем. Я не смог найти ничего об этой теме в руководстве по стилю для Android. Существуют ли альтернативы, которые улучшают читабельность и / или безопасность?