2011-04-12 2 views
1

J'essaye de construire un SurfaceView en lisant dans un tableau et en utilisant des commutateurs de cas pour construire le canevas. Donc la question est: puis-je construire une toile en boucle Y, en suivant X. charger des bitmaps en utilisant BitmapFactory() dans le canevas, puis en utilisant 1 .show() pour rendre le canevas à l'écran? ou aurai-je besoin d'appeler le rendu de la toile pour chacun d'entre eux (ou sera-ce à travers l'écran à chaque fois que je fais cela)?android canvas concatinate

Répondre

0

Vous ne savez pas ce que vous obtenez, mais pour une chose évitez d'utiliser BitmapFactory dans onDraw. Vous ne voulez pas faire de décodage bitmap en même temps que le rendu. Vous devriez charger vos bitmaps à l'avance et les garder en mémoire pour un dessin plus rapide plus tard.

+0

serait-il possible de construire un tableau de bitmaps dans les cnavas alors dans onDraw rend juste une fois, ou cela causerait un conflit pour placer des choses dessus, ou puis-je utiliser la dimension z pour placer des choses sur d'autres choses – gardian06

+0

Vous devez généralement les restituer chaque fois que vous exécutez votre routine de tirage. –

+0

puisque R.java est simplement une table de référence pour les assets (dérivant des entiers de "names"), et j'ai réalisé à quel point la mémoire pouvait être occupée en tenant un tableau de bitmaps. Serait-il possible de conserver à la place un tableau de valeurs entières (dérivées de R.java) et ensuite dans un pour chaque aller à travers le tableau d'entiers les plaçant dans le canevas? \ n \ n si cela est possible, j'ai du mal à trouver un exemple de construction de la toile de cette façon – gardian06