2

У меня есть приложение, и у меня возникла следующая проблема: Мне нужно показать список элементов, каждый элемент состоит из следующих полей: 3 longs, 2 inits, 3 строки. Список должен содержать: Быстрая прокрутка. Наполнители.Android Очень большой список элементов с наилучшим подходом recyclerview

Данные находятся в базе данных локально, и нет необходимости доступа к сети.

Список может быть с огромным объемом данных, например, 1,000,000 предметов.

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

Является ли использование подхода загрузки по требованию, дает разумную производительность? Удерживает ли это количество объектов в памяти, потребляет слишком много ОЗУ?

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

ответ

2

Ответ: RecyclerView, long, int и String. Что касается производительности, RecyclerView самостоятельно перерабатывает представления, когда они больше не видны и обеспечит быстрый прокрутку, и вы можете сделать быстрее, если используете кеш. Также вы можете установить значение null в представления, когда просмотр переработан. В терминах памяти используйте базовые объекты, такие как int, а не Integer, long, not Logint и т. Д.

+0

Спасибо, но как вы думаете, сохранить ли все данные в памяти, чтобы обеспечить быструю прокрутку, является хорошим вариантом? или загружать куски предметов по запросу? – user5276077

+0

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