( P.S. Я новичок в разработке для Android, поэтому буду признателен за небольшую оценку. )
Мое тестовое приложение включает в себя пользовательский вид, который выглядит следующим образом:
( Я не буду включать XML-код этого представления, поскольку это сделало бы пост излишне большим )
Это пользовательское представление имеет LinearLayout
в качестве корневого элемента. Внутри LinearLayout
есть еще 2 вложенных LinearLayouts
. Даже если на первый взгляд может показаться, что RelativeLayout
можно использовать, после пробного запуска всех контейнеров только LinearLayout
может достичь этого вида.
Проблема в том, что мне нужно динамически заполнять список моего пользовательского представления (выше). Может варьироваться от 40 до 80. Я попытался динамически сгенерировать 60 из указанных выше пользовательских представлений в моей тестовой среде как дочерние элементы для RecycleView
внутри ScrollView
.
В моей тестовой среде на моем физическом устройстве (Samsung Galaxy J2) я вижу, что производительность приложения немного, но не слишком сильно. Тем не менее, я вижу, что приложение использует слишком много памяти устройства.
Я прошел много ТАК постов по макетам. Из документов я узнал, что использование слишком большого количества вложенных LinearLayout
может создать глубокую и сложную иерархию представлений. Итак, я пытался использовать FrameLayout
, RelativeLayout
везде, где мог.
Мой сценарий на самом деле не уникален. Если вы разработчик, который читает это и у вас есть некоторый опыт разработки больших приложений, у вас наверняка есть сценарии, в которых вам нужно много раз динамически генерировать пользовательское представление. Итак, что бы совет здесь?
В таких приложениях, как Facebook или даже Facebook Lite, или в других приложениях, которые имеют похожие пользовательские представления, заполненные в большом количестве, какие макеты они фактически используют для обеспечения оптимальной производительности? И учитывая мой сценарий, мой подход правильный?