Я работаю над приложением, и одной из функций, над которыми я работаю, является загрузка некоторых двоичных файлов. Некоторые из них действительно большие (более нескольких мегабайт). Загрузка проходит нормально, если размер файла меньше 2 ГБ.
Я застрял на файле размером 3,2 ГБ, поскольку я получаю обновления прогресса (я объединяю DownloadManager для обновлений прогресса), но когда загрузка завершается, файл отсутствует на пути к целевому файлу. Запрашивая DownloadManager
для этого идентификатора загрузки, я получаю STATUS_FAILED
и причину ERROR_UNKNOWN
— самая любимая информация об ошибках, которую только можно пожелать!
Странно то, что это отображается на большинстве устройств, но на некоторых (например, Samsung SG 4 Active OS 4.2.2 и LG Nexus 5 OS 4.4.2) оно не отображается.
Проведя дополнительное расследование, я обнаружил, что это, похоже, ошибка в Android. DownloadManager
реализация. Кажется, что реализация Android хранит количество загрузок как целое число, но когда это количество превышает Integer.MAX_VALUE
, загрузка завершается как неудачная.
Я думаю заменить использование DownloadManager
сервисом переднего плана, но я бы еще не сдался ....
Ребята, вы сталкивались с этим, и если да, то как вы это исправили? Есть ли обходной путь для использования DownloadManager
в версиях до 4.2.2, чтобы я мог загружать более 2,1 ГБ на файл?
int
, а неlong
в реализацииDownloadManager
! - person gunar   schedule 12.02.20144GB issue
? - person gunar   schedule 15.02.2014DownloadManager
позаботится обо мне в следующем: возобновить загрузку при восстановлении подключения, загружать по определенному каналу (Wi-Fi или мобильный), продолжить загрузку, если приложение будет убито. - person gunar   schedule 17.02.2014DownloadManager
. grepcode.com/file/repository.grepcode.com/java/ext/ - person Shakti   schedule 18.02.2014DownloadManager
, посколькуenqueue
просто ставит запрос на загрузку в очередь с использованием системыContentProvider
. Я считаю, что проблема заключается в фактическом компоненте загрузчика, и я также считаю, что это другой процесс. - person gunar   schedule 18.02.2014