Несоответствие между размерами приложений, перечисленных в Play Store, и фактическим размером установленного приложения.

В Play Store указан размер всех приложений, доступных в их магазине. Когда пользователь загружает и устанавливает приложения, фактические размеры, сообщаемые Android, часто превышают размеры, указанные в Play Store.

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

В чем причина расхождения?

Ответы (4)

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

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

Различия в размерах заметны при сравнении Android-маркетов, один показывает один размер, а плей-маркет показывает совершенно другой размер.

Большое спасибо. Глупый Google... очевидно, важно знать, насколько большим будет приложение после установки... жаль, что Google опускает эту информацию в своем магазине Google Play.
Вы упомянули, что «иногда, когда установлены apk, может потребоваться загрузка некоторых данных». Это правильно? Могут ли приложения загружать данные, просто будучи установленными (а не открытыми)?
Я имел в виду, что после открытия мой ответ был отредактирован, чтобы отразить это. Но никакое приложение не должно иметь возможность загружать данные перед тем, как открыть его в первый раз. Теперь первый раз также может означать после перезагрузки, поэтому некоторые данные могут быть загружены тогда, если есть подключение к Интернету или как только оно станет доступно.
Спасибо! Я предполагаю, что в вашем комментарии выше вы имели в виду «Но ни одно приложение НЕ ДОЛЖНО иметь возможность загружать данные перед его первым открытием» вместо «Но ни одно приложение НЕ ДОЛЖНО иметь возможность ...»?
@RockPaperLizard, лол. Я торопился, но да, это то, что я имел в виду "... ни одно приложение НЕ ДОЛЖНО быть..."
Без проблем. Спасибо. Кстати, ваш ответ вдохновил меня на создание связанного вопроса: android.stackexchange.com/questions/107258/…
Рад, что заставил тебя задуматься! :) Я проверю этот вопрос.

В магазине Google Play и других магазинах приложений указан только размер основного приложения (APK), а не общий размер приложения, который включает файлы расширения OBB (Opaque Binary Blob). OBB — это дополнительные файлы, которые приложение загружает для запуска. До загрузки дополнительных файлов не должно быть разницы в размере файлов.

В разделе для разработчиков Play Store:

Максимальный поддерживаемый размер одного APK составляет 50 МБ. Если вам нужно хранить дополнительные активы (например, изображения), вы можете загрузить файлы расширения.

Если вашему приложению требуется более 50 МБ памяти, вы можете использовать файлы расширения для хранения дополнительных ресурсов APK. Вы можете хранить два файла расширения для каждого приложения. Каждый файл расширения может иметь размер до 2 ГБ.

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

При использовании файлов расширения один файл является основным, а другой — необязательным файлом исправления. Дополнительные файлы исправлений обычно используются для небольших обновлений основного файла.

Файлы OBB используют то же сжатие, что и файлы APK, то есть стандартное сжатие zip. Файлы APK и OBB хранятся в сжатом виде в файловой системе, а файлы внутри распаковываются в память по мере необходимости на лету. Так что нет, сжатый размер, который представляет собой пространство, занимаемое APK на устройстве, не отличается от того, что должен указывать Play Store.

Наконец, магазин Play позволяет использовать несколько APK для одного списка приложений. Это связано с тем, что некоторые более крупные приложения (в основном игры) должны ориентироваться на разные ресурсы (графический движок, размер/разрешение экрана и т. д.), и они не могут уместиться в одном APK (из-за ограничения размера). Если вы посмотрите на одну и ту же страницу Play Store на разных типах устройств, вы, скорее всего, увидите в списке приложения разного размера.

Это приносит ценную новую информацию к ответам здесь. Можете ли вы вообще расширить свой ответ?
@rockpaperlizard Спок, что еще можно добавить?
+1 за то, что он получил это первым. :-) Еще немного подробностей о том, что на самом деле загружает файлы OBB (приложение или Play Store?), Почему вы называете их «файлами расширения» и является ли общее сжатие (как упоминалось в других ответах) дополнительным фактор.
@RockPaperLizard готово.
Спасибо! Я сделал несколько правок, чтобы уточнить, пожалуйста, исправьте мои правки, если я допустил какие-либо ошибки. Основываясь на предоставленной вами отличной информации, я создал этот вопрос: android.stackexchange.com/questions/108931/…

В Google Play Store больше не отображаются размеры, если вы вошли в систему с учетной записью, к которой подключено несколько устройств.

Максимальный размер APK увеличился до 100 МБ с 28 сентября 2015 года (ссылка: Официальный блог разработчиков Android )

Из-за распаковки и различных версий и устройств размер установки приложения зависит от устройства — «Зависит от устройства». Только для некоторых приложений вы можете увидеть, насколько они велики, посетив магазин игр без входа в систему.

Я хотел бы знать, есть ли какие-либо индикаторы, чтобы сказать «приблизительно», насколько велико приложение (<5, 10, 10-50, <50, 50-100 и т. д.). Спасибо @Andrew за правку (:

Потому что Play Store показывает размер загрузки, а файл загрузки (вероятно, apk) сжат. Когда вы устанавливаете приложение, apk распаковывается и становится больше.