Загрузка файла расширения 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):

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

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

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

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

1
0
200
1

Ответы 1

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

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

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

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

Другие вопросы по теме