Mi respuesta a this question fue aceptada, pero comencé a preguntarme cuándo exactamente se necesita invalidar() una Vista y cuándo no es necesario.¿Cuándo es necesario ejecutar invalidate() en una vista?
Después de un poco de pensamiento me vino a darse cuenta de que se debe trabajo más o menos así:
- dibujo real de "todo" se produce después de
onResume()
- en partes "libres" de tiempo de la pantalla se puede volver a dibujar, pero sólo los que estaban
invalidated
(y todo por debajo)
por lo tanto, parecería, si cambio algo después onResume()
(p. como respuesta a un clic del botón, debería invalidate()
el View
cambiado).
Sin embargo, a partir de lo que dice scana en this question, debe ser más complejo que eso y depende en ocasiones del método que se use.
E.g. de si se utiliza
lastClicked.setImageBitmap();
o
lastClicked.setImageResource();
Por lo tanto, cuando es necesario ejecutar invalidate() en una vista y cómo funciona realmente?
Algunas oraciones corrigen, pero el enfoque es incorrecto. !! -1 – ncm