je veux savoir quand une mise à jour est disponible pour une application, évidemment une nouvelle apk est là. Alors, est-ce que l'ancien apk est désinstallé et que le nouvel apk est installé?
Pas tout à fait, non. Lorsque vous désinstallez un package, il supprime également d'autres données liées à ce package: par exemple, les propres données privées de l'application, ses données sur la carte SD, vos préférences par défaut pour cette application. Il indique également à toutes les autres applications intéressées que vous avez supprimé l'application, via une diffusion intentionnelle . D'autres applications recevant cette diffusion pourraient prendre d'autres mesures en fonction de cela: par exemple, un lanceur (application d'écran d'accueil) supprimerait les raccourcis et widgets du bureau de cette application, car ils ne fonctionneront plus.
Lorsqu'un package est mis à niveau (c'est-à-dire remplacé par un nouveau fichier APK avec le même nom de package et un code de version ultérieure), l'ancienne version est arrêtée, de sorte que rien de l'application ne fonctionne plus. L'ancien fichier APK est supprimé et le nouveau le remplace, mais les autres actions de désinstallation ne sont pas effectuées: les données d'application privée et les préférences par défaut sont conservées et la diffusion de désinstallation n'est pas envoyée. Au lieu de cela, une intention différente est diffusée pour indiquer à toutes les applications intéressées que le package a été mis à jour.
Ainsi, alors que l'ancien fichier APK est supprimé, l'effet d'une mise à niveau est très différent de la désinstallation de l'ancien package, puis de l'installation du nouveau.
Dans Google Play, la situation peut être un peu différente si le développeur a activé les mises à jour delta (appelées mises à jour intelligentes par Google).
Dans une mise à jour delta, seules les modifications entre les deux versions sont téléchargées et appliquées à l'APK existant. Par exemple, si vous avez une application de 15 Mo et que le développeur décide de changer l'image d'arrière-plan, vous n'avez pas besoin de télécharger à nouveau l'intégralité de l'application, vous pouvez simplement télécharger le delta (différence), qui inclut le nouveau image. L'ancien APK est ensuite dupliqué, le nouveau contenu est injecté dans la copie de l'ancien APK et, en cas de succès, l'ancien APK est supprimé. Le résultat final est l'APK mis à jour.