나는 앱 개발 중이고 현재 작업중인 기능 중 하나는 일부 바이너리 파일을 다운로드하는 것입니다. 그들 중 일부는 정말 큽니다 (몇 메가 바이트 이상). 파일 크기가 2GB 미만인 경우 다운로드가 정상적으로 완료됩니다.다운로드 관리자가 2.1GB 이상의 파일을 다운로드 중
진행률 업데이트 (진행률 업데이트 용 DownloadManager 풀링)가 3.2GB 인 파일에 고정되었지만 다운로드가 완료되면 대상 파일 경로에 파일이 없습니다. 해당 다운로드 ID에 대해 DownloadManager
을 질문하면 STATUS_FAILED
이 표시되고 이유는 ERROR_UNKNOWN
입니다. 가장 좋아하는 오류 세부 정보가 있습니다.
이상한 점은 대부분의 장치에 표시되지만 일부 (예 : 삼성 SG 4 활성 OS 4.2.2 및 LG Nexus 5 OS 4.4.2)에는 나타나지 않습니다.
일부 추가 조사를 실시한 결과, 이것이 bug in Android DownloadManager
implementation 인 것으로 나타났습니다. 안드로이드 구현은 int로 다운로드 카운트를 저장하지만, 그 숫자가 Integer.MAX_VALUE
이상이되면 다운로드가 실패로 끝납니다.
나는 전경 서비스와 DownloadManager
사용을 대체 할 생각입니다,하지만 난 아직 포기하지 않을 것입니다 .... 너희들이 직면 했 그렇다면, 당신이 그것을 어떻게 해결 되었습니까
? 4.2.2 이전 버전에서 DownloadManager
을 사용할 수있는 임시 해결책이 있습니까? 파일 당 2.1GB 이상을 다운로드 할 수 있습니까?
Koush에서 Ion을 확인하십시오. https://github.com/koush/ion 큰 파일로 잘 작동합니다. – josebama
@josebama : UI에서 풀린 실제 다운로드입니까? 즉, 사용자가 기기를 회전하고 앱을 종료 한 다음 다시 들어가면 다운로드가 계속 진행되고 전체 UI와 일관성이 유지됩니까? – gunar
나는 확인할 수 없다. 그러나 그것은 – josebama