在Java中使用闭包进行倒计时

在Java中使用闭包进行倒计时,java,android,canvas,closures,Java,Android,Canvas,Closures,我正在为android编写一个应用程序。该应用程序有许多图形在画布上移动。如果两个人相遇,他们就会“爆炸”。简而言之,我有一些爆炸图形,但是爆炸的本质是它只持续一段时间,或者更长一点,我需要对爆炸图形进行编程,使其显示在屏幕上,然后消失。我有一些笨拙的代码来实现这一点 public void flickerExplosion(){ flickercounter++; if(flickercounter ==100){

我正在为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()或其他类似的类增量。但我的问题是关于一种感觉,我在用FlicketCounter浪费资源,这是一个class int变量。 对于这样的迭代,是否可以使用非内部函数(即闭包)?如果是这样的话,会不会使类变量flickCounter过时并使我的程序更高效?
作为一个一周前才开始学习闭包的人,我问这个问题。

a.Java不能做匿名函数

B


不要认为某件事情表现得很糟糕,测试它

有许多项目提供这种类型的功能。请阅读本文,了解一些主要竞争者的背景和参考资料:

Java没有匿名的内部函数——它们有匿名的内部类,这些类只是模糊地近似于闭包。