Я работаю над приложением, и одна из функций, над которыми я работаю, - это загрузка некоторых двоичных файлов. Некоторые из них действительно большие (более нескольких мегабайт). Загрузки заканчиваются нормально, пока размер файла составляет менее 2 ГБ.DownloadManager загружает файлы более 2,1 ГБ
Я застрял в файле размером 3,2 ГБ, чтобы получить обновления для процесса обновления (я собираю DownloadManager для обновлений прогресса), но когда загрузка завершена, файл отсутствует в пути к целевому файлу. Опросив DownloadManager
для этого идентификатора загрузки, я получаю STATUS_FAILED
и причину ERROR_UNKNOWN
- любимые сведения об ошибке, о которых вы когда-либо захотите!
Странно, что это появляется на большинстве устройств, но для некоторых (например, Samsung SG 4 Active OS 4.2.2 и LG Nexus 5 OS 4.4.2) оно не появляется.
Выполнение дополнительного расследования, я узнал, что это похоже на bug in Android DownloadManager
implementation. Кажется, реализация Android хранит счетчик загрузки как int, но когда этот счет идет выше Integer.MAX_VALUE
, загрузка заканчивается как неудачная.
Я имею в виду, чтобы заменить DownloadManager
использование со службой на первом плане, но я бы не отказался от еще ....
ли вы, ребята сталкиваются с этим, и если да, то как это исправить? Есть ли какая-нибудь работа для использования DownloadManager
в пред-4.2.2, поэтому я могу загрузить более 2,1 ГБ на файл?
проверить Ion из Koush: https://github.com/koush/ion это довольно здорово, и это может хорошо работать с большими файлами – josebama
@ josebama: это фактическая загрузка, выпущенная из пользовательского интерфейса? Я имею в виду, если пользователь поворачивает устройство, выйдет из приложения и затем снова войдет, будет ли загрузка продолжена и соответствовать всему пользовательскому интерфейсу? – gunar
Не могу подтвердить, но предполагается – josebama