Не загружайте сотни изображений.Это требует нескольких вещей:
1) Не храните изображения в памяти адаптера.Сохраните url / resourceid / что-либо из изображения, чтобы вы могли загрузить его по требованию.
2) Используйте LRU-кэш изображений, ограниченный по размеру, и загружайте изображения через него.
3) Убедитесь, что при загрузке изображений не возникает слишком много одновременных запросов, и что запросы отменяются, когда они больше не нужны (когда представление, в которое они попадают, перерабатывается).
4) Я бы предложил загрузитьобразы и запись их на диск, затем загружая их с диска по мере необходимости.Это избавит вас от необходимости хранить весь файл в памяти для декодирования при загрузке, что уменьшит использование памяти при загрузке.
5) Не декодируйте изображение в потоке пользовательского интерфейса.Сделайте это в другом потоке.
6) Если вам не нужно отображать полноразмерные изображения, создайте миниатюры.
Изображения в RecyclerView, особенно если для загрузки требуется много работыхорошо и справиться с быстрой прокруткой.