Как обрабатывать прерывистое рисование, когда представления добавляются в макет? - PullRequest
0 голосов
/ 03 июня 2011

У меня есть 10 видов, которые добавляются к LinearLayout с вертикальной ориентацией. Все это происходит во время выполнения. Однако каждый раз, когда макет перерисовывается, пользователь может видеть скачкообразный переход от пустого макета к одному со всеми 10 добавленными видами. Каков рекомендуемый подход для уменьшения изменчивости?

Ответы [ 2 ]

1 голос
/ 03 июня 2011

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

Кроме того, использование ListView, как предлагает inazaruk, позволит вам отделить генерацию данных от визуализации View.

Если это неВ этом случае посмотрите в своем коде, если вы создаете несколько объектов в onDraw ().Если это так, переформатируйте ваш код, чтобы вы снова использовали эти объекты.Это не позволит сборщику мусора постоянно работать, чтобы восстановить неиспользуемую память.

1 голос
/ 03 июня 2011

Вы можете добавить все 10 элементов до отображения LinearLayout (например, в методе onCreate).

Или вместо него можно использовать ListView.Вы можете найти более подробную информацию в ListView tutorial .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...