Android: повышение производительности ListView, содержащего Horizontal ScrollView в каждой строке.

У меня есть список, который содержит горизонтальную прокрутку внутри каждой строки. Теперь, когда getView() вызывается для каждой позиции в listView, я создаю и добавляю представления (относительные макеты) в горизонтальный scrollView. Этот getView() довольно тесный.

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

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

Если я сохраню эти внутренние представления (относительные макеты) на карте (положение, список представлений), а затем в режиме просмотра просто позвоню этой позиции, получу все внутренние представления и передам моему горизонтальному представлению прокрутки?

Я смущен этим. может кто-нибудь, пожалуйста, помогите мне улучшить производительность здесь.

Спасибо. Солнечный


person Sunny    schedule 01.03.2014    source источник


Ответы (1)


Основная концепция Listview заключается в повторном использовании дочерних компонентов.

В принципе, то, что вы делаете, может быть неправильным. HorizontalScrollview потребляет намного больше памяти, чем ListView, и я предполагаю, что метод getView() выполняет много работы.

Мое предложение:

Listview следует заменить на ScrollView, а HorizontalScrollView следует заменить на ViewPager или HorizontalListView.

Примечание. Если вы хотите получить идеальный ответ, опубликуйте снимок экрана.

person Smash mobile    schedule 05.03.2015