¿Cuándo es necesario ejecutar invalidate () en una vista?
Mi respuesta aesta pregunta se acaba de aceptar, pero comencé a preguntarme cuándo es necesario invalidar () exactamente una Vista y cuándo no es necesario.
Después de pensar un poco, me di cuenta de quedebería Trabaja más o menos así:
dibujo real de "todo" se produce después deonResume()
en "tiempo libre" se pueden volver a dibujar partes de la pantalla, pero solo aquellas que estabaninvalidated
(y todo debajo)Por lo tanto, parecería, si cambio algo despuésonResume()
(por ejemplo, como respuesta a un clic de botón, deberíainvalidate()
el cambiadoView
).
Sin embargo, de lo que scana enesta pregunta dice, debe ser más complejo que eso y depende a veces del método que uno usa.
P.ej. sobre si uno usa
lastClicked.setImageBitmap();
o
lastClicked.setImageResource();
Entonces, ¿cuándo es necesario ejecutar invalidate () en una vista y cómo funciona realmente?