Bonjour, j'ai regardé plusieurs tutoriels sur la création d'un SurfaceView, mais je n'ai pas compris pourquoi on fait une boucle (infinie) pour dessiner plusieurs fois sur ce SurfaceView alors qu'un seul dessin ça marche pour moi??
voici un exemple:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class DrawingThread extends Thread {
	// Utilisé pour arrêter le dessin quand il le faut
        boolean keepDrawing = true;    	
        @Override
        public void run() {
 
           while (keepDrawing) {
                Canvas canvas = null;
                try {
		    // On récupère le canvas pour dessiner dessus
                    canvas = mSurfaceHolder.lockCanvas();
		    // On s'assure qu'aucun autre thread n'accède au holder
                    synchronized (mSurfaceHolder) {
			// Et on dessine                  
                    	Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DITHER_FLAG); 
                    	 paint.setColor(Color.GREEN);
                        canvas.drawCircle(10,10 , 50, paint);
                    }
                } finally {
                    if (canvas != null)
                        mSurfaceHolder.unlockCanvasAndPost(canvas);
                }
                try {
                    Thread.sleep(20);
                } catch (InterruptedException e) {}
            }
        }
    }