Как обнаружить заикание программно? - PullRequest
2 голосов
/ 14 марта 2012

Когда я смотрю на ListView и прокручиваю его, я знаю, что он заикается, если это очевидно. Но иногда, когда это не так очевидно, меня смущает, заикается прокрутка или нет? Другими словами, как я могу определить, были ли потеряны кадры?

Есть ли способ обнаружить такое заикание программно? Я прочитал «Как узнать, заикается ли частота кадров OpenGL ES - без инструментов?» , но я не думаю, что это подходит для 2D-представлений, таких как ListView в Android.

1 Ответ

2 голосов
/ 14 марта 2012

Один из способов сделать это (я не проверял) - это расширить имеющийся у вас ListView, переопределить метод draw или onDraw и проверить, сколько раз он вызывается в течение секунды. Все, что ниже ~ 25 кадров в секунду, означает, что оно заикается.

Также ничего не стоит, что почти всегда есть оптимизация, которую вы можете сделать в своем ListView, чтобы избежать заикания на всех телефонах (подсказка: проверьте повторное использование представления в вашем адаптере)

...