Android For循环不停止

Android For循环不停止,android,loops,for-loop,invalidation,Android,Loops,For Loop,Invalidation,我正在android上玩2D图形。我使用随机生成器来生成x和y,使用for循环。奇怪的是,循环从未停止过: for (int i = 0; i < 5; i++){ System.out.println(i); invalidate(); int randomX = randomGenerator.nextInt(1000); int randomY = randomGenerator.nex

我正在android上玩2D图形。我使用随机生成器来生成x和y,使用for循环。奇怪的是,循环从未停止过:

 for (int i = 0; i < 5; i++){
            System.out.println(i);
            invalidate();
            int randomX = randomGenerator.nextInt(1000);
            int randomY = randomGenerator.nextInt(1000);
            canvas.drawPoint(randomX, randomY, paint);
            float radius = 20;
            canvas.drawCircle(randomX, randomY, radius, paint);
        }
for(int i=0;i<5;i++){
系统输出打印LN(i);
使无效();
int randomX=randomGenerator.nextInt(1000);
int randomY=randomGenerator.nextInt(1000);
画布.绘图点(randomX、randomY、paint);
浮动半径=20;
画布.画圈(randomX、randomY、radius、paint);
}

我查看logcat,它显示i=0,1,2,3,4。我会失明吗???i=

如果您的
for
循环在视图的
onDraw()
方法中,调用
invalidate()
将强制视图重新绘制自身,再次调用
onDraw()
,从而无限循环。

打印4之后会显示什么值?logcat会多次显示0-4,还是只显示一次?或者logcat显示i超过4?是否有外环或其他东西触发您的活动?对不起,我不确定这里是否有足够的信息来帮助你。你的for循环在隔离状态下看起来很好(无论如何对我来说)。你说它不会停止是什么意思?如果您的logcat仅显示i=0,1,2,3,4,且仅此而已,则它已停止。
System.out.println
不应在logcat中打印任何内容。使用
Log.i
System.err.println
我刚刚意识到是invalidate()导致了循环。