2011-05-19 5 views
6

¿Por qué la operación de dibujo en el lienzo de Android usa float en lugar de int para (x, y)? Por ejemplo: http://developer.android.com/reference/android/graphics/Canvas.html#drawCircle(float, flotador, flotación, android.graphics.Paint)¿Por qué la operación de dibujo en el lienzo de Android usa float en lugar de int para (x, y)?

http://developer.android.com/reference/android/graphics/Canvas.html#drawRect(float, flotador, flotación, flotador, android.graphics.Paint)

Si tengo una gran cantidad de objetos (por ejemplo 200) dibujar en mi aplicación y tengo una clase para cada objeto, ¿debo usar 'int' o 'float' para el atributo x, y (la ubicación del objeto cuando se dibuja en la pantalla)? Creo que "flotante" usa menos memoria que "int".

class MyObject { 
    public int x; 
    public int y; 
} 

Gracias.

Respuesta

5

Flotante porque el suavizado le permite pintar a nivel subpíxel. También porque puede haber una matriz de transformación activa (por ejemplo, una escala).

Un flotador e INT tomar tanto 32 bits (lo más probable)

Cuestiones relacionadas