¿Por qué el tamaño de mi aplicación en el dispositivo es diferente al tamaño de la tienda APK o Play?

Tengo una pregunta bastante válida de un usuario que no puedo entender al pie de la letra por qué el tamaño reportado en la tienda de Google Play es diferente al tamaño reportado en el dispositivo. Mi tamaño de APK firmado en mi PC viene a 3.8MB. La carga en Google Play muestra un tamaño similar. Sin embargo, al observar el administrador de la aplicación en el dispositivo, se muestran las siguientes estadísticas:

Total: 6.62MB App: 6.51MB Data: 112KB 

Esto no tiene que ver con la protección de copia habilitada para Google Play (como otras preguntas similares sugieren) ya que obtengo las mismas estadísticas instalando el APK firmado o el APK de desarrollo.

El APK en el teléfono en / data / app es de nuevo 3.8MB y los archivos en /data/data/com.my.app llegan a otros 100KB más o menos (presumiblemente la fila ‘Datos’ anterior).

¿Qué está causando la discrepancia en las estadísticas?

EDITAR: Investigando esto aún más, esta es una característica común en muchas aplicaciones en mis dispositivos. Google Play informa un tamaño y el dispositivo informa algo generalmente en la magnitud 2 veces mayor. Es tan bueno saber que probablemente no sea algo que estoy haciendo, pero todavía siento curiosidad por el razonamiento aquí, ya que es frustrante que los usuarios me acusen de ‘manipular’ el tamaño de la instalación para que parezca más pequeño.

Al instalar una APK en el sistema Android, lo que está instalado es el archivo DEX. Que contiene tu código, recursos, etc. comstackdos como binarios. Su dex es generalmente del mismo tamaño que su apk, a menos que tenga recursos no comstackdos en los activos.

Bueno, todos lo sabemos. Lo que no está muy extendido es que Android también salva tu apk original. Tal vez para reinstalar en caso de errores o por otros motivos.

Es por eso que la cantidad de memoria de nuestras aplicaciones es el doble en el sistema. Es la sum del tamaño del apk original y el dex instalado.

Es como cualquier otra aplicación de software que se comprimirá inicialmente y se realizará como un único archivo para su instalación y, una vez realizada la instalación, extraerá todos los archivos (código, activos, es decir, imágenes, etc.) en el teléfono. Esta es la razón por la cual su aplicación tendrá más memoria luego de instalarse en un teléfono.

Para evitar esto, haga que su aplicación sea del lado del servidor y pida permiso obligatorio a Internet para que pueda enviar los datos sin consumir más memoria para la aplicación.