Je veux savoir si nous pouvons appeler la méthode Ondraw() d'Android conditionnellement basée sur un drapeau. Par exemple, ondraw()
doit être appelé uniquement lorsqu'une trame particulière est décodée.En utilisant la fonction OnDraw() sous Android conditionnellement
Tenir compte de cette situation:
decoder(); /// @NDK
set flag;
if (Flag==set)
{
OnDraw() works and displays an image
}
else
OnDraw sleeps;
Peut-on mettre en œuvre ce type d'activités dans Android, si oui, comment?
ce que vous cherchez est View.invalidate(). onDraw ne sera appelé que si un invalide a été émis au préalable. – Renard
Merci. Dans mon cas, la pause pour ondraw() ne durera que quelques millisecondes - juste pour la durée du décodage de la trame - (et cela aussi sera différent pour les frames differenet) est-ce que j'utilise toujours View.invalidate()? – gpuguy
Je pense que vous devriez le tester. J'ai toujours 50-60 images pour mes vues personnalisées où j'étais invalide directement dans onDraw. Mais si cela ne fonctionne pas pour vos contraintes, vous devez passer à quelque chose de plus complexe comme un SurfaceView avec un thread de rendu dédié. – Renard