Oui et non. Les applications Android ne sont pas décompressées dans le système de fichiers lorsqu'elles doivent être exécutées. Au lieu de cela, elles sont décompressées de manière sélective et lues dans le système de fichiers. mémoire/ram par la machine virtuelle Dalvik. Cette décompression est un processus très simple, rapide et peu gourmand en ressources processeur, de sorte qu'elle n'ajoute pas de surcharge réelle au système. Lors de la première installation, la machine virtuelle Dalvik procède à une certaine optimisation, principalement en liant les bibliothèques natives du système Android aux bibliothèques APK internes, ce qui est enregistré dans le cache Dalvik sous la forme d'un fichier dex optimisé (.odex).
[C'est pourquoi le premier démarrage d'un téléphone prend plus de temps, car le système doit créer des fichiers odex pour toutes les applications qui n'en ont pas. Les applications système sont généralement dotées d'un odex par le fabricant].
Un APK a une structure prédéfinie, comprenant des listes de fichiers, des ressources, des actifs, des bibliothèques, des fichiers dex (fichiers de classe Java convertis en format exécutable Dalvik), etc. Le système décompresse et lit ces fichiers en mémoire, et suit le code qu'ils contiennent. Ce code lui indique quand décompresser et charger les autres fichiers.
Il n'est jamais enregistré sur le disque dur, il est directement stocké dans la mémoire.