Загрузка файла расширения APK показывает прогресс проверки.

Я связал свое приложение с файлом расширения APK. После множества проблем я наконец-то могу скачать свои видеоресурсы. Теперь я заметил следующую проблему. Процесс отображения для проверки XAPK всегда разный и случайный.

Размер моего файла obb составляет 385.956.198 байт:

    private static final XAPKFile[] xAPKS = {new XAPKFile(true, // true signifies a main file
        8, // the version of the APK that the file was uploaded
        385956198 // the length of the file in bytes
)};

На моем устройстве Lollipop он всегда составляет от 366 до 368 МБ (но никогда не 368,07):

Прогресс на устройстве Lollipop

На устройстве Nougat прогресс очень странный. Это может быть 155 МБ, 82 МБ, 102 МБ ...

! [Прогресс на устройстве Nougat

Хотя похоже, что проверка не завершена, я могу нажать «Далее» и открыть видеофайлы. Поэтому у меня нет идей, что вызывает эту проблему и почему значения на устройстве Nougat намного ниже общего размера файла.


person Deno Agüero    schedule 27.03.2018    source источник


Ответы (1)


скопировано с здесь

Проблема здесь в том, что общий размер рассчитывается для записей в заархивированном файле, что приводит к размеру несжатых файлов внутри заархивированного файла. И прогресс отображается на том же основании.

  1. Первое решение состоит в том, что для проверки доступности файла расширения оставьте чек в том виде, в котором он есть в вашем приложении, но для расчета укажите исходный размер. Вычисления выполняются для заархивированных записей в библиотеке zip-файлов, измените ее соответствующим образом, если это возможно. (Я не пробовал это решение.)

  2. Во-вторых, сжимайте файлы таким образом, чтобы файлы внутри папки не были сжаты. В этом случае вам будет нечего делать, но недостатком будет то, что пользователю придется скачивать файл немного большего размера.

person anatoli    schedule 05.04.2018