Je recommande fortement drawRect()
.
Les bitmaps occupent une grande partie de la mémoire et peuvent conduire à Out Of Memory
Exceptions si elles ne sont pas utilisées correctement.
Écrit par android:
bitmaps prennent beaucoup de mémoire, en particulier pour des images riches comme des photographies. Par exemple, l'appareil photo sur le Galaxy Nexus prend des photos jusqu'à 2592x1936 pixels (5 mégapixels). Si la configuration bitmap utilisée est ARGB_8888 (par défaut depuis Android 2.3), le chargement de cette image en mémoire prend environ 19 Mo de mémoire (2592 * 1936 * 4 octets), épuisant immédiatement la limite par application sur certains périphériques.
Pour prévenir les maux de tête et les pannes inattendues. Utilisez drawRect();
Si vous faites ces 4 tirages sur une base régulière pour différents objets, pensez à écrire une méthode qui fait les 4 pour vous. Donc, vous ne provoquez pas de répétition massive.
Par exemple:
public void DrawMyRect(Canvas canvas, int x, int y)
{
canvas.drawRect(x, y ,x + 15, y + 40, paint);
// Draw its line etc etc..
}
Sinon, si vous optez pour le dessin bitmap, car il a des avantages:
See this epic Link by Android, on how to properly use Bitmaps
Pourquoi ne pas le chronométrer? – Cheesebaron
Si vous le faites, chronométrez-le sans le paint.setColor(); vous ne devriez pas modifier vos peintures dans la routine de tirage, vous devriez avoir quatre peintures. En utilisant chacun pour chaque rectangle. Ou les réutiliser si vous peignez la même couleur. – Tatarize