Intereting Posts
TextInputLayout не показывает подсказку EditText, прежде чем пользователь будет фокусироваться на ней Android Singleton с глобальным контекстом Воспроизведение локального аудиофайла в Android-приложении Android Использовать PreferenceActivity для настройки виджета, как получить предпочтение? Android, Как удалить все маркеры из Google Map V2? Как ввести эмулятор Android с помощью ПК-клавиатуры «App-release.apk», как изменить это имя apk, созданное по умолчанию Признание чисел с помощью жестов Android: Фрагменты, SQLite и Loaders Какой тип url должен использовать в android для отправки запроса на сервер? Как я могу сделать свой Android SwipeableCardView больше похожим на почтовое приложение IOS 7 (проведите по экрану, чтобы показать кнопки) AsyncTask onPostExecute никогда не вызывается Android Studio Keep say Не удалось завершить выполнение Gradle Android: поиск близлежащих мест с помощью API Google Адресов Android: возвышение не работает в превью L

Какой порядок вложенных макетов наиболее эффективен в Android

Я не думаю, что на самом деле я действительно FrameLayout в Android больше трех уровней LinearLayout ( RelativeLayout , LinearLayout , FrameLayout ). Я не думаю о элементах списка, которые также используют настраиваемый макет для ListView но только обычные макеты для активности.

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

Кто-нибудь имеет более экспертный подход к этому? Любой вход? Мнение?

Благодарю.

ОБНОВЛЕНИЕ для тех, кто нашел в Google: первый ответ ниже – отличный ресурс. Это похоже на много, и люди, похоже, пропускают ответы, но, пожалуйста, проверьте это. Очень ценно.

Solutions Collecting From Web of "Какой порядок вложенных макетов наиболее эффективен в Android"

Наверное, для этого нет серебряной пули, но я дам вам несколько советов:

1) Попробуйте использовать инструменты, поставляемые с sdk android.

Я склонен анализировать свои макеты с помощью hierarchyviewer и layoutopt пытаясь уменьшить количество используемого View и высоту дерева.

2) Читайте сообщения Романа Гая о <include> , <merge> и <ViewStub> Эти теги часто не используются, но они обеспечивают отличные «хаки».

3) Используйте dmtracedump и измерьте, сколько времени требуется, чтобы раздуть представление.

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

Я не предпринимал никаких надлежащих испытаний, чтобы поддержать это. Тем не менее, я считаю, что андроид был дизайном для использования макетов вложений, чтобы обеспечить адекватный пользовательский интерфейс пользователю, его практически единственный способ поддерживать несколько экранов, поэтому я бы не стал беспокоиться о том, какие Является наиболее эффективным, просто, что он выглядит так, как должен.

Любая другая плохая практика программирования, вероятно, будет иметь больший эффект в эффективности, чем макетирование макетов.

Разница будет гораздо более важной, если вы используете такой макет для каждого элемента в ListView, например. Надеюсь, этот простой пример показал вам, что знакомство с вашими макетами – лучший способ узнать, как оптимизировать свой интерфейс.

Не могу дать вам полный ответ, но Ромен Гай специально заявил, что вложенные RelativeLayouts имеют экспоненциальное время для измерения.

Смотрите видео здесь, в 38:08.

На самом деле все они основаны на одном классе .. но было бы лучше использовать по мне следующее:

 <RelativeLayout> <LinearLayout> <at> here we just create nested more as we wont></at> </LinearLayout> </RelativeLayout>