Я знаю, что этот вопрос задан перед тем, как это сделать в StackOverflow. Но у меня другое сомнение по этому сценарию. В документах Android предлагается использовать async-задачи для этой операции и обрабатывать проблемы многопоточности с помощью использования bitmap drawable, который содержит слабую ссылку на самую последнюю задачу для просмотра изображений. Дополнительная информация по этому вопросу: linkЗагрузка изображений в Android-браузере
Пример довольно хорошо объяснен, но у меня другой подход к этой же проблеме.
МОЙ ПОДХОД
я думать об использовании сервиса, с нитями, работает внутри него для загрузки изображений, соответствующих различным URL, которые отображают в разных imageviews. Кроме того, кэш может поддерживаться с URL-адресом в качестве ключа, а битмап - как значение. Затем, прокручивая также, просто позвольте старому потоку продолжить работу, и запустите новый поток для текущего url, и поместите его в кеш и установите растровое изображение, извлекая из кеша (url будет отличаться, поэтому не будет той же проблемы как в случае асинхронных задач, когда сам образ был ключевым). Один из недостатков, который я вижу для моего подхода, заключается в том, что мне нужно будет загружать сразу все изображения (так как я не могу остановить службу до того, как все закончится, и я не могу продолжать ее работать слишком долго). Но я думаю, что есть что-то еще, поскольку такой подход нигде не упоминается в StackOverflow, а также в официальных документах разработчиков. Я бы очень признателен за помощь в этом.
recycle view делает то же самое, и вы можете использовать библиотеку для изображения, такого как picasso ... вы пробовали их раньше? – Moudiz
Это не о том, как я могу решить эту проблему, но о том, почему второй подход недоступен нигде в сообществе разработчиков (в этом должно быть что-то не так). Что касается сторонних библиотек, то если бы мне пришлось их использовать, тогда не было смысла задавать правильный подход к этой проблеме. –