2011-07-22 6 views
1

Je dessine un arrière-plan (une grille) dans une vue, essentiellement tout l'écran rempli de triangles (notez que j'ai besoin de dessiner les triangles), mais il semble obtenir l'application plus lente.améliorer dessiner performance de fond

Y a-t-il des configurations que je peux faire afin d'optimiser les performances de l'application, par exemple; quelques configurations pour dessiner mon fond avec moins de qualité.

grâce

+0

Vos triangles changent constamment? –

+0

Oui, j'ai besoin de les dessiner constamment. Je dois mettre en place un effet de zoom avant et arrière. – forumercio

+0

@forumercio avez-vous trouvé une solution à ce problème? J'ai aussi un problème similaire. Il serait idéal que l'arrière-plan ne soit dessiné qu'une seule fois. Merci. –

Répondre

0

Après beaucoup d'essais et d'erreurs la solution que j'ai trouvé faire le dessin personnalisé sur l'événement OnSizeChanged d'un FrameLayout au lieu de OnDraw afin que le code est seulement exectued fois. Dans l'événement OnSizeChanged, je dessine l'arrière-plan dans un canevas temporaire, le place dans un bitmap, crée un BitmapDrawable pour cela et appelle setBackgroundDrawable avec le BitmapDrawable. Après cela, je fais le dessin personnalisé et le peindre dans une image bitmap à laquelle est défini un ImageView personnalisé qui peut être zoomé et défilé tandis que les performances ne sont pas affectées. Personnalisé ImageView est similaire à l'exemple que j'ai posté here.

Questions connexes