|
Заполнение списка данными
|
|||
---|---|---|---|
#18+
Всем добрый день! Столкнулся с проблемой: есть активность, на которой планируется разместить список платежных операций. Данные об операция хранятся в БД на сервере. Извлекаются таким образом: при заходе на страницу (onStart()) делается запрос на сервер, который извлекает последние 15 операций. При прокрутке пользователем страницы до низа (событие на скроллинг) - запрос следующих 15 операций, и присоединение их к существующему списку. И так далее. Список в активности использует свой (кастомный) адаптер. Мною создан класс Payment, который содержит поля-параметры операций. А суть проблемы вот в чем: я в своем адаптере использую ArrayList<Payment>. То есть, при заходе на активность отрабатывает запрос на сервер, результат обрабатывается, создается 15 объектов класса Payment, и записывается в список ArrayList, после чего происходит их отображение на странице. Потом, когда пользователь доскроллит до низа страницы, будет создано еще 15 объектов, и так далее. Возникает закономерное опасение, что рано или поздно будут либо проблемы с производительностью, либо приложение просто выкинет какой-нибудь Exception. Посоветуйте, пожалуйста, альтернативу использованию ArrayList в адаптере. Может быть, в данном случае будет целесообразно передавать вместо ArrayList что-нибудь другое? Например, строку с разделителями... Отвечая на вопрос "а зачем мне класс Payment": не знаю. Если есть альтернатива ArrayList, то и класс тогда не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2016, 13:04 |
|
Заполнение списка данными
|
|||
---|---|---|---|
#18+
фигней не страдай. во первых, у тебя в Payment мегабайты данных будут храниться ? ну и , как правило мало кто будет скроллить историю из 300 элементов. да даже тут я тебя уверяю, никаких проблем нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2016, 14:29 |
|
Заполнение списка данными
|
|||
---|---|---|---|
#18+
Статья по первой ссылке Интересные статьи ссылки для серфинга по большим датасетам. Ну и в гугле статьи по запросу "android recyclerview". ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2016, 14:30 |
|
Заполнение списка данными
|
|||
---|---|---|---|
#18+
wadman, спасибо. Статью посмотрел. Но там же упор на скорость работы с SQLite. У меня такого вообще нет. Есть сервер, на который идет запрос. Ответ в формате JSON. Единственное, за что в статье зацепился глаз - слова о загрузке последующих данных при достижении конца предыдущих. Это у меня уже есть. Смущает создание большого кол-ва ненужных объектов. Джибс, ну не мегабайты конечно - там 8 полей примитивных типов. Я тоже, в общем, согласен, что проблем особых не будет - интересно выяснить альтернативные подходы. И больше всего волновал вопрос создания объектов Payment. Если попадется упорный пользователь, который докрутит до 300 операций, будет 300 объектов, которые особо и не нужны никому. Это нормально? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2016, 15:59 |
|
Заполнение списка данными
|
|||
---|---|---|---|
#18+
Валисий, а кто мешает хранить только отображаемые 15 и 30 до и 30 после? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2016, 18:34 |
|
Заполнение списка данными
|
|||
---|---|---|---|
#18+
Валисийкоторый докрутит до 300 операций, будет 300 объектов, которые особо и не нужны никому. Это нормально? ну закроет этот фрагмент.активити список убьется. тоже мне проблема. или думаешь, теже списки форумов или вконтактов фейсбуков, сильно парятся на эту тему ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2016, 20:23 |
|
Заполнение списка данными
|
|||
---|---|---|---|
#18+
ДжибсВалисийкоторый докрутит до 300 операций, будет 300 объектов, которые особо и не нужны никому. Это нормально? ну закроет этот фрагмент.активити список убьется. тоже мне проблема. или думаешь, теже списки форумов или вконтактов фейсбуков, сильно парятся на эту тему ? Если все правильно сделать, то андроид сам побеспокоиться об очистке памяти и подгрузке нужных записей через соответствующие события. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2016, 19:03 |
|
|
start [/forum/topic.php?fid=13&tid=1331199]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 246ms |
total: | 377ms |
0 / 0 |