Загрузка изображений с сервера, асинхронный или поток?
Мое приложение загружает изображения с удаленного сервера, я планирую использовать для этого асинхронную задачу, но мне было интересно, будет ли поток работать лучше. Я бы предпочел асинхронную задачу, потому что она проста и проста, но я буду использовать поток, если мне действительно нужно, что вы думаете?
Спасибо за все ваши ответы, и что, если я также загружаю изображения, я не думаю, что эти библиотеки обрабатывают их, некоторые источники говорят мне, что поток следует использовать для более длинных задач, и асинхронность должна использоваться для задачи, которые будут длиться от 3 до 4 секунд?????
4 ответа
Из ваших двух вариантов я бы сказал, что используйте Async Task, так как это просто более приятный интерфейс для потоков, и с ним лучше работать.
Хотя, поскольку вы используете его для загрузки изображений, я бы посоветовал вам использовать библиотеку Picasso, поскольку она загружает все асинхронно для вас, а также выполняет кэширование, что является хорошим дополнительным дополнением. Это также самая простая библиотека, которую я когда-либо использовал.
Вы можете найти его здесь: http://square.github.io/picasso/
AsyncTask - это обертка вокруг потока и обратного вызова, поэтому непосредственное использование потока будет более сложным. Вы можете вместо этого использовать библиотеку, такую как UniversalImageLoader. Он обрабатывает большую часть или все обычные выборки изображений и может быть настроен для кеширования довольно просто.
Асинхронная задача является асинхронной, что означает, что она выполняется вместе с вашим кодом пользовательского интерфейса в отдельном потоке. Итак, вы говорите о двух одинаковых вещах.
Изображения, я предлагаю Volley NetworkImage. Поиск в Google для получения дополнительной информации, примеры также доступны в Интернете о том, как его использовать. Это быстро, надежно и абсолютно без утечек памяти.