Предупреждение «Возможный сброс внутри цикла» в Android StudioJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Предупреждение «Возможный сброс внутри цикла» в Android Studio

Сообщение Anonymous »

Я использую Android Studio с Java и LibGDX.
Студия Android предупреждает о строке рисования с сообщением «Возможный сброс внутри цикла» с таким подробным описанием:< /p>

Информация проверки: ищет возможность сброса пакета или средства визуализации, происходящего
внутри цикла, прямо или косвенно. Из соображений производительности
необходимо позаботиться о том, чтобы не вызывать ненужных сбросов, и максимально ограничить
количество сбросов на кадр.

Код: Выделить всё

DelayedRemovalArray myEntities = ...;

bricks.begin();
for(MyEntity myEntity : myEntities) {
myEntity.draw(game.getBatch()); // warning: Possible flush inside a loop
}
bricks.end();
метод MyEntity.draw:

Код: Выделить всё

Matrix4 tempMatrix = new Matrix4();
Matrix4 originalMatrix = new Matrix4();

NinePatchDrawable ninePatchDrawable = ...;

public void draw(SpriteBatch batch) {
originalMatrix.set(batch.getTransformMatrix());

tempMatrix.set(originalMatrix);

tempMatrix
.translate(myEntity.width/2, myEntity.height/2, 0)
.rotate(0, 0, myEntity.angle, 10)
.translate(-myEntity.width/2, -myEntity.height/2, 0);
batch.setTransformMatrix(tempMatrix);

ninePatchDrawable.draw(batch, ...);

batch.setTransformMatrix(originalMatrix);
}
Если я удалю два вызова patch.setTransformMatrix, предупреждение исчезнет, ​​но мне нужно это сделать, иначе девятый патч не будет нарисован в правильном положении из-за тот факт, что метод ninepatch.draw не учитывает центр тела при вращении...
Итак, как это сделать, не получив этого предупреждения? Есть ли лучший способ сделать это?
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/791 ... oid-studio
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»