2016-11-09 10 views
0

Я попытался найти ответ на этот конкретный вопрос, но не смог. Я смотрел видео https://www.youtube.com/watch?v=NYtB6mlu7vA, и у меня сложилось впечатление, что использование макетов обычно дорого. приложения, такие как Twitter, использовать сложные конструкции, которая состоит из множества вложенных взглядов группыСколько ViewGroup (LinearLayout, Relative, Grid и т. Д.) Считается слишком много?

Dumped View Hierarchy

Я понимаю, что эти строки внутри ListView, и они перерабатываются, но мой вопрос, это считается плохой практикой в ​​целом ?

В видеоролике они обсудили тот факт, что linearlayout выполняет вычисление для рисования элементов внутри него, и становится все хуже, когда вы вставляете несколько linearlayouts.

+0

Особое значение не существует. Когда у вас заканчивается пространство стека. Основной поток приложений имеет стек 8 КБ, последний раз я слышал. –

ответ

0

Согласно Lint Проверки:

Layout имеет слишком много точек зрения

Максимальное число просмотров по умолчанию 80, но может быть настроен с помощью переменной окружения ANDROID_LINT_MAX_VIEW_COUNT.

Layout иерархии слишком глубоко

Макеты слишком много вложенности плохо для исполнения. Подумайте об использовании более плоской компоновки (например, RelativeLayout или GridLayout). Максимальная максимальная глубина по умолчанию - 10, но можно настроить с переменной среды ANDROID_LINT_MAX_DEPTH.

По моему опыту:

Если ваше приложение поддерживает API 9+ Я рекомендую иметь менее 12 вложенных представлений. Обычно эти устройства имеют ограничения на память. Вы можете получить OutOfMemoryException или StackOverflowException. StackOverflow происходит, когда шаблон «Composite» рекурсивно проходит иерархию.

 Смежные вопросы

  • Нет связанных вопросов^_^