Эффективность иерархии Android Layout - PullRequest
2 голосов
/ 29 декабря 2011

Влияет ли (и каким образом) на производительность сложная иерархия макетов?

Как влияет на приложение наличие глубоко вложенных макетов (например, RealitiveLayout, который содержит много LinearLayouts, каждый из которых содержит ....)

Ответы [ 3 ]

1 голос
/ 29 декабря 2011

Это дает эффект: чем проще, тем лучше правило.

Каждое представление - или, что еще хуже, каждый менеджер макета - который вы добавляете в свое приложение, обходится дорого: инициализация, макет ирисунок становится медленнее.Передача макета может быть особенно дорогой, если вы вложите несколько LinearLayout, которые используют параметр веса, который требует, чтобы дочерний элемент был измерен дважды.

From: http://android -developers.blogspot.com/2009/02/android-layout-tricks-1.html

1 голос
/ 29 декабря 2011

Да, и более 3 уровней предположительно не рекомендуется. Это одна из причин, почему был создан новый GridLayout. Кроме того, инструменты lint иierarchyviewer в SDK помогут вам оптимизировать макеты.

Однако, в зависимости от ваших потребностей, вам, возможно, придется вкладываться глубже. Просто используйте инструменты SDK и некоторые устройства для тестирования, чтобы убедиться в наличии узких мест в производительности при рендеринге. Скорее всего, они где-то еще в вашем коде ..

Одним из основных слогов производительности в отношении представлений является не рендеринг, а раздувание их из XML-файлов.

1 голос
/ 29 декабря 2011

Вы можете использовать hierarchyviewer, чтобы измерить производительность вашей иерархии макетов. Для получения более подробной информации см http://developer.android.com/guide/developing/debugging/debugging-ui.html

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