Загружать большой файл, который является лучшим подходом для использования или AsyncTask или Потока?

Я нашел, что образец загружает большой файл данных в следующей ссылке, http://code.google.com/p/apps-for-android/source/browse/#svn/trunk/Samples/Downloader

Это, кажется, довольно хорошо (я еще не протестировал его). Но я также прочитал некоторые сообщения в stackoverflow, чтобы сделать то же самое при помощи класса AsyncTask, не используя класс Потока в качестве вышеупомянутого образца.

То, что я хочу знать, который я должен использовать для достижения загрузки файла? И если бы AsyncTask лучше, Вы указали бы на меня на пример кода?

7
задан Janusz 19 July 2010 в 12:18
поделиться

2 ответа

Отказ от ответственности: я не разработчик Android, ответ исходит из общего опыта.

Класс Thread больше всего подходит для длительных операций, а не для асинхронных задач. За исключением случаев, когда вы управляете пулом рабочих, но время жизни потока все равно такое же или почти такое же, как у приложения. Учтите, что создание потока - дорогостоящая операция.

AsyncTasks и другие помощники обычно предназначены для отдельных действий, которые вы хотите выполнять в фоновом режиме, чтобы не блокировать приложение. Они обычно хорошо управляются платформой и стоят недорого.

Мое мнение: используйте AsyncTask, если хотите время от времени загружать страницы. Если ваше приложение будет загружать страницы все время в фоновом режиме, рассмотрите thread.

7
ответ дан 7 December 2019 в 05:18
поделиться

Эти два варианта имеют равную вероятность быть убитыми во время загрузки (когда пользователь переключается на другое приложение). Тем не менее, AsyncTask менее беспорядочен. Для загрузки больших файлов рассмотрите возможность использования Service.

0
ответ дан 7 December 2019 в 05:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: