Потокобезопасная прогрессивная загрузка в Android - PullRequest
0 голосов
/ 04 октября 2011

Я пишу приложение для Android, которое должно загружать довольно много графических файлов; предыдущий разработчик написал это, используя различные классы типа HttpClient. Они не дают никакой информации о прогрессе, и если загрузка не удалась на полпути, нет способа восстановить отсутствующие биты (насколько я могу узнать).

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

Насколько я могу судить, это означает, что мы должны выбирать между многопоточными загрузками (о которых мой коллега сообщает чуть быстрее) и возможностью возобновления. Есть ли способ получить и то и другое на Android, кроме реализации моего собственного, многопоточного класса HTTP-соединения?

...