вызов.

м приложении у меня есть бесконечный цикл в одном из переопределений onMeasure () моего View. Отлаживая исходный код, начиная с точки останова в моем onMeasure, я могу проследить себя по всей трассе стека вплоть до меры PhoneWindow $ DecorView () (самый верхний класс в моей иерархии представлений), который вызывается ViewRoot .performTraversals (). Теперь отсюда, если я продолжу перешагивать, я в конечном итоге получу снова метод measure () $ Phoneorindow $ DecorView с помощью сообщения в классе Looper.loop (). Я предполагаю, что что-то поставило в очередь сообщение, которое нужно переизмерить, как недействительное.

Мой вопрос заключается в том, что инициирует необходимость вызова меры в представлении?

Из моего понимания процесса компоновки / измерения / рисования, это произойдет только тогда, когда метод invalidate () вызывается для определенного представления, и это будет происходить и выполнять передачу макета / меры / отрисовки для этого представления, признанного недействительным, и все его дети. Я бы предположил, что каким-то образом мой самый лучший вид в моей иерархии представлений становится недействительным.

Тем не менее, я явно поставил точку останова на каждом отдельном вызове invalidate, и не вызываю invalidate каким-либо бесконечным образом. Поэтому я не думаю, что это так. Есть ли другой способ инициировать проход измерения? Может ли что-то внутренне вызвать это? Я как бы вне идей, увидев, что ничто не лишает законной силы бесконечность.

Ответы на вопрос(2)

Ваш ответ на вопрос