Я пишу приложение для Android.В приложении много графики, перемещающейся по холсту.Если двое встречаются, они «взрываются».В двух словах, у меня есть хорошая пара графиков для взрывов, однако природа взрыва такова, что он длится всего несколько секунд или немного дольше, и мне нужно запрограммировать график взрыва, чтобы он отображался на экране изатем исчезнуть.У меня есть некоторый неуклюжий код для реализации этого.
public void flickerExplosion(){
flickercounter++;
if(flickercounter ==100){
flickercounter = 0;
explode_graphic.deleteGraphic();
}
if(flickercounter%10>4){
explode_graphic.setBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.exp1));
}
else{explode_graphic.setBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.exp2));}
}
В коде explode_graphic - это класс для хранения растрового изображения, которое рисуется на холсте с помощью onDraw ().После увеличения в 100 раз график взрыва исчезает.Взрыв мигает между двумя растровыми изображениями exp1, exp2.Код работает нормально.Я понимаю, что мог бы использовать timer () или другой такой класс.Но мой вопрос по поводу чувства, что я трачу ресурсы с помощью flickercounter , который является переменной класса int.Можно ли использовать такие внутренние функции (например, замыкания) для повторения подобных вещей?Если это так, это сделает переменную класса flickercounter устаревшей и сделает мою программу более эффективной?Я спрашиваю об этом как о человеке, который начал изучать замыкания только неделю назад.