Я нашел, что образец загружает большой файл данных в следующей ссылке, http://code.google.com/p/apps-for-android/source/browse/#svn/trunk/Samples/Downloader
Это, кажется, довольно хорошо (я еще не протестировал его). Но я также прочитал некоторые сообщения в stackoverflow, чтобы сделать то же самое при помощи класса AsyncTask, не используя класс Потока в качестве вышеупомянутого образца.
То, что я хочу знать, который я должен использовать для достижения загрузки файла? И если бы AsyncTask лучше, Вы указали бы на меня на пример кода?
Отказ от ответственности: я не разработчик Android, ответ исходит из общего опыта.
Класс Thread больше всего подходит для длительных операций, а не для асинхронных задач. За исключением случаев, когда вы управляете пулом рабочих, но время жизни потока все равно такое же или почти такое же, как у приложения. Учтите, что создание потока - дорогостоящая операция.
AsyncTasks и другие помощники обычно предназначены для отдельных действий, которые вы хотите выполнять в фоновом режиме, чтобы не блокировать приложение. Они обычно хорошо управляются платформой и стоят недорого.
Мое мнение: используйте AsyncTask, если хотите время от времени загружать страницы. Если ваше приложение будет загружать страницы все время в фоновом режиме, рассмотрите thread.
Эти два варианта имеют равную вероятность быть убитыми во время загрузки (когда пользователь переключается на другое приложение). Тем не менее, AsyncTask
менее беспорядочен. Для загрузки больших файлов рассмотрите возможность использования Service
.