Когда необходимо выполнить invalidate() для представления?

Мой ответ на этот вопросбыл только что принят, но я начал задаваться вопросом, когда именно нужно сделать недействительным() представление, а когда не обязательно?

Немного подумав, я пришел к выводу, что это должноработать примерно так:

  • реальное рисование "всего" происходит после onResume()
  • в " свободные" временные части экрана можно перерисовывать, но только те, которые были инвалидированы(и все, что под ними)

Поэтому, казалось бы, если я что-то изменю после onResume()(например, в ответ на нажатие кнопки я должен аннулировать()измененный вид).

Однако из того, что говорит скана в этот вопрос, он должен быть более сложным, чем этот, и иногда это зависит от того, какой метод используется.

о том, кто использует

lastClicked.setImageBitmap();

или

lastClicked.setImageResource();

Итак, когда необходимо выполнить invalidate() для представления и как это на самом деле работает?

44
задан Community 23 May 2017 в 12:34
поделиться