J'ai écrit le même programme de deux façons.SurfaceView vs Vue personnalisée (étendue de View). SurfaceView est plus lent, pourquoi?
L'un utilisant une vue de surface, et l'autre utilisant une vue personnalisée. Selon le guide de développement Android SDK, l'utilisation d'une vue de surface est préférable car vous pouvez générer un thread séparé pour gérer les graphiques. Le guide de développement du SDK prétend que l'utilisation d'une vue personnalisée avec des appels d'invalidation n'est utile que pour des animations plus lentes, des graphismes moins intenses.
Cependant, dans ma simple application, je peux clairement voir que l'utilisation d'une vue personnalisée avec des appels à invalider semble rendre plus rapidement.
Que savez-vous/pensez-vous à ce sujet?
Mon code touchEvent est exactement le même, et mon code de dessin est exactement le même. La seule différence est que l'un est dans le thread UI, et l'autre utilise une bande de roulement pour gérer le dessin. SurfaceView permet de travailler sur 2 tampons pour le dessin, que diriez-vous de votre vue personnalisée?
mon application prend des entrées tactiles et dessine un cercle qui suit votre doigt lorsque vous faites glisser sur l'écran tactile. Je remarque un peu plus de décalage avec la version de surface de l'application. Je dirais que mon application n'est pas intense en termes de traitement de l'interface utilisateur et des graphiques. –
Ensuite, je définis intense autrement. Pour déterminer la performance réelle, vous devez séparer le traitement tactile et graphique à différents threads pour la vue de surface. Ensuite, vous obtenez des résultats réels. Faites aussi plus d'un cercle pour dessiner, car l'intense est plus ... Sur quel appareil avez-vous testé? – WarrenFaith